@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');
:root{--paper:#faf7ef;--ink:#233f37;--coral:#ed795c;--muted:#68716a;--line:#dedfd3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font:16px 'DM Sans',Arial,sans-serif}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:5px}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}header{max-width:1380px;margin:auto;height:108px;padding:0 48px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-size:25px;font-weight:700;letter-spacing:-1px}.brand img{width:37px}.brand>span{color:var(--coral);font-size:20px;align-self:flex-start}nav{display:flex;align-items:center;gap:34px;font-size:14px}.small-button{border:1px solid var(--ink);padding:13px 19px;border-radius:7px;font-weight:600}.hero{max-width:1380px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:45px 48px 75px;min-height:650px}.hero-copy{padding-top:35px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;display:flex;align-items:center;gap:9px}.eyebrow>span{width:7px;height:7px;background:var(--coral);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'Playfair Display',Georgia,serif;font-weight:500;letter-spacing:-2.5px;line-height:1.12}h1{font-size:clamp(52px,5.2vw,76px);margin:23px 0 25px;position:relative}em{color:var(--coral);font-weight:500}h1 svg{position:absolute;bottom:-15px;left:175px;width:215px;stroke:var(--coral);stroke-width:3;fill:none}.hero-copy>p{max-width:445px;color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:29px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;background:var(--ink);color:white;border:0;border-radius:7px;padding:18px 25px;font-weight:600;transition:transform .2s,background .2s}.button:hover{background:#355a4d;transform:translateY(-2px)}.benefits{display:flex;gap:15px;font-size:11px;margin-top:18px;color:var(--muted)}.little-note{font:italic 17px Georgia;color:#778373;margin-top:30px;transform:rotate(-3deg);display:flex;gap:15px}.little-note span{font-size:32px}.hero-art{position:relative;min-height:505px}.portrait{background-image:url('assets/portraits.jpg');background-size:300% 200%;background-repeat:no-repeat;background-color:#e9d3b6}.p0{background-position:0 0}.p1{background-position:50% 0}.p2{background-position:100% 0}.p3{background-position:0 100%}.p4{background-position:50% 100%}.p5{background-position:100% 100%}.hero-main{width:76%;height:435px;position:absolute;top:20px;left:12px;border:9px solid white;border-radius:100px 100px 10px 10px;transform:rotate(-5deg);box-shadow:0 18px 35px #263f3618}.float-card{position:absolute;width:40%;right:0;bottom:14px;background:white;padding:7px 7px 14px;transform:rotate(8deg);box-shadow:0 14px 30px #263f3620;border-radius:5px}.float-card .portrait{height:200px}.float-card>span{display:block;font:italic 12px Georgia;text-align:center;padding-top:12px}.scribble{position:absolute;right:22px;top:-5px;font:italic 21px Georgia;transform:rotate(10deg);z-index:2}.sticker{position:absolute;right:-6px;top:75px;background:#edcc67;border-radius:50%;width:114px;height:114px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:11px;font-weight:700;transform:rotate(14deg);box-shadow:0 0 0 5px var(--paper)}.sticker span{font-size:35px;line-height:1.1}.art-caption{position:absolute;bottom:-22px;left:30px;font-size:11px;letter-spacing:1px}.ribbon{background:#e9eddf;border-block:1px solid #dbe0d1;display:flex;align-items:center;justify-content:center;gap:38px;padding:22px;overflow:hidden;white-space:nowrap;font-size:11px;letter-spacing:2px}.ribbon b{font-size:20px;color:#8b9b7e}.gallery-section,.how,.faq{max-width:1380px;margin:auto;padding:85px 48px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:30px}h2{font-size:46px;margin:16px 0 23px}.section-top>p{font-size:14px;color:var(--muted);line-height:1.7}.filters{display:flex;gap:10px;margin:14px 0 30px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:transparent;color:var(--ink);padding:11px 19px;border-radius:30px;font-size:13px}.filters button.active{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 23px}.example{transition:transform .25s}.example:hover{transform:translateY(-5px)}.example .portrait{aspect-ratio:1.05;border-radius:12px}.example-info{display:flex;justify-content:space-between;padding:15px 2px;align-items:center}.example h3{font-size:17px;margin:0 0 5px}.example p{font-size:12px;color:var(--muted);margin:0}.example button{width:34px;height:34px;background:transparent;border:1px solid #c9cdbf;border-radius:50%;color:var(--ink)}.gallery-note{font-size:11px;text-align:center;color:var(--muted);margin:25px 0 0}.creator-section{background:#e9eddf;padding:75px max(48px,calc((100vw - 1284px)/2));display:grid;grid-template-columns: .85fr 1.15fr;gap:85px}.creator-intro{padding-top:22px}.creator-intro h2{font-size:57px}.creator-intro>p{color:var(--muted);line-height:1.7;max-width:290px}.mini-steps{display:flex;flex-direction:column;gap:23px;margin-top:40px}.mini-steps>span{color:#8c997d;font-size:13px}.mini-steps b{color:var(--ink);margin-left:20px;font-weight:500}.preview-note{max-width:320px;margin-top:40px;padding:18px;border:1px solid #cad2bc;border-radius:8px;font-size:12px;line-height:1.6}.preview-note p{margin:7px 0 0;color:var(--muted)}form{background:var(--paper);padding:30px;border:1px solid #d9dece;border-radius:15px;box-shadow:0 12px 25px #243f3608}.mode-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:24px;gap:20px}.mode-tabs button{padding:0 0 13px;background:transparent;border:0;color:var(--muted);font-size:13px}.mode-tabs button.active{border-bottom:2px solid var(--ink);color:var(--ink);font-weight:700}.upload{display:flex!important;align-items:center;justify-content:center;min-height:155px;border:1.5px dashed #acb6a2;border-radius:9px;background:#f1f0e6;cursor:pointer;text-align:center;overflow:hidden}.upload.drag{background:#e3e9d7}.upload strong{font-size:27px;font-weight:400;display:block;margin-bottom:6px}.upload b{display:block;font-size:15px;margin-bottom:7px}.upload span span{display:block;font-size:11px;color:var(--muted)}#upload-preview{max-height:180px;max-width:100%;object-fit:contain}.field-hint{font-size:10px;color:var(--muted);line-height:1.6;margin:9px 0 22px}form>label,#describe-fields>label{display:block;font-size:13px;font-weight:600;margin:22px 0 10px}.optional{font-size:11px;color:var(--muted);font-weight:400;margin-left:5px}select,input:not([type=checkbox]),textarea{width:100%;padding:13px;background:transparent;border:1px solid #d3d7c8;border-radius:6px;color:var(--ink);font-size:13px}textarea{min-height:110px;resize:vertical}.interest-list{display:flex;flex-wrap:wrap;gap:8px}.interest-list button{border:1px solid #d3d7c8;border-radius:5px;padding:8px 11px;font-size:12px;background:transparent;color:var(--ink)}.interest-list button.selected{background:#e5eadb;border-color:#819475}.humor{display:flex;align-items:center;justify-content:center;gap:12px;margin:22px 0;font-size:12px}.switch input{position:absolute;opacity:0}.switch>span{display:block;width:38px;height:22px;border-radius:20px;background:#c2c9b6;padding:3px;cursor:pointer}.switch>span:before{content:'';display:block;width:16px;height:16px;background:white;border-radius:50%;transition:transform .2s}.switch input:checked+span{background:var(--coral)}.switch input:checked+span:before{transform:translateX(16px)}.switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:3px}.generate{width:100%}.form-bottom{font-size:10px;text-align:center;color:var(--muted);margin:15px 0 0}#form-status{font-size:12px;color:#a54b36;margin:12px 0 0}.how{text-align:center}.how>.eyebrow{justify-content:center}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:55px;margin-top:45px;text-align:left}.how-grid article>span{font:27px Georgia;color:var(--coral);display:block;margin-bottom:20px}.how h3{font-size:20px;margin-bottom:12px}.how p{font-size:14px;line-height:1.8;color:var(--muted)}.faq{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.2fr;gap:75px;padding-top:50px}.faq h2{font-size:40px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:500;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary:after{content:'+'}.faq details[open] summary:after{content:'−'}.faq p{font-size:13px;color:var(--muted);line-height:1.8;margin:14px 0 0}.closing{text-align:center;background:#f4e3d4;padding:48px 20px 60px}.closing>span{font-size:50px}.closing h2{margin-top:10px}footer{padding:35px 48px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px}footer .brand{font-size:20px}footer .brand img{width:30px}footer p{margin:0;color:var(--muted)}footer button{background:none;border:0;color:var(--muted);font-size:11px}footer>span{color:var(--muted)}dialog{background:var(--paper);border:0;border-radius:18px;padding:35px;width:min(500px,92vw);color:var(--ink);text-align:center;max-height:90vh;overflow:auto}dialog::backdrop{background:#18382b99;backdrop-filter:blur(5px)}dialog h2{font-size:36px}dialog .eyebrow{justify-content:center;font-size:9px}dialog p{font-size:13px;line-height:1.7;color:var(--muted)}dialog>img{width:100%;max-height:350px;object-fit:contain;border-radius:8px;margin-bottom:15px}.close{position:absolute;right:12px;top:8px;border:0;background:transparent;font-size:27px;color:var(--ink)}.again{display:block;margin:20px auto 0;background:none;border:0;color:var(--ink);font-size:13px}#choice-summary{font-size:12px;margin:15px;color:var(--muted)}[hidden]{display:none!important}@media(min-width:1500px){.creator-section{padding-inline:calc((100vw - 1180px)/2)}}@media(max-width:1000px){header{padding:0 26px}.hero{padding:25px 26px 60px;gap:15px}h1{font-size:54px}.hero-main{height:360px;top:50px}.hero-art{min-height:440px}.float-card .portrait{height:150px}.benefits{flex-wrap:wrap;gap:8px}.sticker{width:88px;height:88px;font-size:9px}.gallery-section,.how,.faq{padding:60px 26px}.creator-section{padding:55px 26px;gap:35px}.creator-intro h2{font-size:46px}.section-top>p br{display:none}.ribbon{gap:22px}footer{padding:30px 26px;flex-wrap:wrap}.brand{font-size:23px}nav{gap:20px}}@media(max-width:700px){header{height:82px;padding:0 20px}nav>a:not(.small-button){display:none}.small-button{font-size:11px;padding:10px}.brand{font-size:20px;gap:7px}.brand img{width:30px}.brand>span{display:none}.hero{grid-template-columns:1fr;padding:10px 22px 48px}.hero-copy{padding-top:12px}.eyebrow{font-size:9px;letter-spacing:1.4px}h1{font-size:54px;letter-spacing:-2px}.hero-copy>p{font-size:16px}.little-note{display:none}.hero-art{margin-top:30px;min-height:410px;max-width:480px;width:100%;justify-self:center}.hero-main{height:350px;top:15px;width:77%}.float-card{width:41%;bottom:13px}.float-card .portrait{height:155px}.scribble{font-size:17px}.sticker{top:60px;right:0}.art-caption{bottom:-10px;font-size:10px}.ribbon{justify-content:flex-start;font-size:9px;padding:18px}.section-top{display:block}.section-top>p{font-size:13px}h2{font-size:35px;letter-spacing:-1.2px}.gallery-section,.how,.faq{padding:48px 20px}.filters{gap:6px}.filters button{padding:9px 12px;font-size:11px}.gallery{grid-template-columns:repeat(2,1fr);gap:15px 12px}.example .portrait{aspect-ratio:.88}.example h3{font-size:13px}.example p{font-size:10px}.example button{width:27px;height:27px;flex-shrink:0}.example-info{gap:5px;padding-top:11px}.creator-section{grid-template-columns:1fr;padding:40px 20px;gap:25px}.creator-intro{padding-top:0}.creator-intro h2{font-size:43px}.creator-intro h2 br{display:none}.creator-intro>p{max-width:none}.mini-steps{display:none}.preview-note{max-width:none;margin-top:20px}form{padding:22px 18px}.mode-tabs{gap:15px}.mode-tabs button{font-size:11px}.how-grid{grid-template-columns:1fr;gap:20px;margin-top:30px}.how-grid article{display:grid;grid-template-columns:50px 1fr;gap:0 10px}.how-grid article>span{grid-row:span 2;font-size:23px}.how h3{font-size:18px}.how p{font-size:13px}.faq{grid-template-columns:1fr;gap:5px}.faq h2{font-size:34px}.faq h2 br{display:none}.closing h2{font-size:38px}footer{padding:28px 20px;display:grid;grid-template-columns:1fr 1fr}footer p{grid-column:1 / -1;grid-row:2}footer button{text-align:left;padding:0}footer>span{text-align:right}dialog{padding:35px 22px}.button{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.p0{background-image:url(assets/portrait-0.jpg);background-size:cover;background-position:center;}
.p1{background-image:url(assets/portrait-1.jpg);background-size:cover;background-position:center;}
.p2{background-image:url(assets/portrait-2.jpg);background-size:cover;background-position:center;}
.p3{background-image:url(assets/portrait-3.jpg);background-size:cover;background-position:center;}
.p4{background-image:url(assets/portrait-4.jpg);background-size:cover;background-position:center;}
.p5{background-image:url(assets/portrait-5.jpg);background-size:cover;background-position:center;}
/* Desktop-first creation studio */
header{max-width:1560px;height:88px} .desktop-studio{max-width:1560px;grid-template-columns:minmax(0,1fr) minmax(530px,1.04fr);gap:65px;padding:26px 48px 45px;min-height:0;align-items:center}.studio-story h1{font-size:clamp(49px,4.5vw,70px);margin:22px 0}.studio-story>p{font-size:17px;line-height:1.7;color:var(--muted);max-width:510px;margin-bottom:28px}.studio-art{position:relative;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px;align-items:center;padding:10px 0 33px}.studio-art>.portrait{height:225px;border:6px solid white;border-radius:10px;box-shadow:0 9px 22px #233f3715}.studio-art>.portrait:first-child{height:280px;transform:rotate(-5deg)}.studio-art>.portrait:nth-child(2){transform:rotate(3deg);margin-top:40px}.studio-art>.portrait:nth-child(3){transform:rotate(7deg);margin-top:-10px}.studio-caption{position:absolute;bottom:0;left:8px;font:italic 14px Georgia;color:var(--muted)}.studio-story>.benefits{font-size:12px;gap:20px;margin-top:26px}.studio-panel{background:#e9eddf;border:1px solid #dbe0d0;border-radius:18px;padding:23px;box-shadow:0 15px 50px #203d3608}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 4px 18px}.panel-heading h2{font-size:31px;letter-spacing:-1px;margin:9px 0 0}.panel-heading .eyebrow{font-size:9px;letter-spacing:1.5px}.preview-pill{font-size:8px;letter-spacing:1px;padding:7px 9px;border:1px solid #c2cbb5;border-radius:20px;white-space:nowrap}.studio-panel form{padding:22px;box-shadow:none;border:0;border-radius:11px}.studio-panel .mode-tabs{margin-bottom:16px}.studio-panel .upload{min-height:110px}.studio-panel .upload strong{font-size:23px;margin:0}.studio-panel .field-hint{margin:7px 0 12px}.studio-panel form>label{margin:14px 0 8px}.studio-panel .interest-list{gap:6px}.studio-panel .interest-list button{padding:7px 10px}.studio-panel select,.studio-panel input:not([type=checkbox]){padding:11px 12px}.studio-panel .humor{margin:14px 0}.studio-panel .button{padding:15px 20px}.studio-panel .form-bottom{line-height:1.6;margin-top:10px}.studio-panel #form-status:empty{display:none}.gallery-section{max-width:1560px;padding-top:60px}.desktop-studio #upload-preview{max-height:130px}.studio-panel textarea{min-height:100px}
@media(min-width:1500px){.desktop-studio{gap:90px}.studio-art>.portrait{height:265px}.studio-art>.portrait:first-child{height:320px}.studio-panel{padding:28px}.studio-panel form{padding:25px}.studio-story>p{font-size:19px}.studio-panel .upload{min-height:130px}.studio-panel form>label{margin-top:18px}}
@media(max-width:1100px) and (min-width:701px){.desktop-studio{grid-template-columns:minmax(0,.85fr) minmax(450px,1.15fr);gap:25px;padding:20px 26px 40px}.studio-story h1{font-size:48px}.studio-art{grid-template-columns:1fr 1fr}.studio-art>.portrait{height:200px}.studio-art>.portrait:first-child{height:250px}.studio-art>.portrait:nth-child(3){display:none}.studio-panel{padding:16px}.studio-panel form{padding:17px}.preview-pill{display:none}.studio-story>.benefits{flex-direction:column;gap:8px}}
@media(max-width:700px){header{height:78px}.desktop-studio{display:flex;flex-direction:column;gap:26px;padding:16px 20px 35px;align-items:stretch}.studio-story h1{font-size:45px;margin:15px 0}.studio-story>p{font-size:15px;margin-bottom:0}.studio-art,.studio-story>.benefits{display:none}.studio-panel{padding:15px;border-radius:14px}.panel-heading{margin-bottom:16px}.panel-heading h2{font-size:29px}.preview-pill{font-size:7px;padding:6px}.studio-panel form{padding:18px 14px}.studio-panel .mode-tabs{gap:15px}.studio-panel .upload{min-height:125px}.studio-panel .form-bottom{font-size:10px}.gallery-section{padding-top:42px}}

/* Preview transition and guide prompt */
#preparing,#guide-dialog{padding:44px 38px}#preparing h2,#guide-dialog h2{margin:18px 0 12px}#preparing p,#guide-dialog p{font-size:15px}.magic-spinner{width:86px;height:86px;border:3px solid #e4e9dc;border-top-color:var(--coral);border-right-color:var(--coral);border-radius:50%;margin:0 auto;display:grid;place-items:center;animation:magic-spin 1s linear infinite}.magic-spinner span{font-size:30px;color:var(--coral);animation:magic-spin 1s linear infinite reverse}.guide-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;border-radius:50%;background:#f7e2d7;color:var(--coral);font-size:28px}.guide-actions{display:grid;gap:12px;margin-top:24px}.guide-actions .button{justify-content:center}.guide-skip{padding:13px;border:0;background:transparent;color:var(--ink);font-weight:600}.guide-skip:hover{text-decoration:underline}@keyframes magic-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.magic-spinner,.magic-spinner span{animation:none}}

.world-section{max-width:1380px;margin:0 auto;padding:10px 48px 90px}.world-heading{display:flex;justify-content:space-between;align-items:end;gap:28px}.world-heading h2{margin-bottom:28px}.world-heading>p{color:var(--muted);font-size:14px;max-width:310px;line-height:1.7}.world-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}.world-card{background:#fff;border:1px solid #e8e7dc;border-radius:14px;padding:9px;box-shadow:0 8px 24px #233f3709}.world-avatar{position:relative}.world-avatar>img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;display:block}.flag-badge{position:absolute;right:8px;bottom:-12px;width:43px;height:34px;display:grid;place-items:center;background:#fff;border-radius:8px;box-shadow:0 3px 10px #233f3725}.flag-badge img{width:31px;height:21px;object-fit:cover;border-radius:2px}.world-info{padding:18px 5px 9px}.world-info span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8c997d;font-weight:700}.world-info h3{font-size:14px;line-height:1.3;margin:7px 0 0}.world-disclaimer{text-align:center;color:var(--muted);font-size:11px;margin:24px 0 0}@media(max-width:1000px){.world-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.world-section{padding:10px 22px 60px}.world-heading{display:block}.world-grid{grid-template-columns:repeat(2,1fr);gap:12px}.world-heading h2{font-size:36px}.world-heading>p{margin-bottom:24px}}
