@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#382139;--coral:#ff775f;--paper:#fffaf9;--peach:#ffe5dc;--muted:#776675;--line:#e7dce4;--lilac:#ede5f5}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:16px;line-height:1.6}h1,h2,h3,p{margin-top:0}h1,h2,h3,.logo{font-family:Manrope,sans-serif}h1,h2{letter-spacing:-.055em;line-height:1.08}h1{font-size:clamp(44px,5.3vw,78px);font-weight:800;margin-bottom:26px}h2{font-size:clamp(32px,3.4vw,48px);font-weight:800;margin-bottom:24px}h3{font-size:20px;letter-spacing:-.03em}em{font-style:normal;color:#d84935}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}img{display:block;max-width:100%;object-fit:cover}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8054b9;outline-offset:4px}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 5.5%;gap:30px;border-bottom:1px solid #f2e5e9;background:var(--paper)}.logo{font-size:29px;font-weight:800;letter-spacing:-1.5px;white-space:nowrap}.dot{color:#e9654d}nav{display:flex;gap:32px;font-size:14px;font-weight:600}.button{border:0;border-radius:100px;background:var(--ink);color:white;padding:17px 25px;display:inline-flex;align-items:center;justify-content:center;gap:30px;font-weight:600;line-height:1.4;transition:transform .2s,background .2s}.button:hover{background:#573454;transform:translateY(-2px)}.button.small{font-size:13px;padding:13px 22px}.button.light{background:var(--paper);color:var(--ink)}.button.full{width:100%}.text-link{font-weight:600;border-bottom:1px solid;padding-bottom:4px}.hero{overflow:hidden;background:radial-gradient(ellipse at 85% 60%,#ffd7cb 0,transparent 60%),#fff0ed}.hero-inner{max-width:1600px;margin:auto;padding:68px 6% 80px;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:2px;font-weight:700;margin-bottom:24px;display:flex;align-items:center;gap:10px}.eyebrow>span{width:7px;height:7px;border-radius:50%;background:#ed6c53}.hero-copy>p{max-width:420px;font-size:17px;color:#715c6c}.actions{display:flex;align-items:center;gap:25px;margin:30px 0}.hero-foot{display:flex;gap:22px;font-size:11px;color:var(--muted);margin-top:26px}.hero-art{height:550px;position:relative;padding:0 30px 20px 40px}.hero-photo{height:100%;position:relative;border:7px solid white;border-radius:18px;transform:rotate(3deg);box-shadow:0 20px 50px #52364724;overflow:hidden}.hero-photo>img{width:100%;height:100%;object-position:center 30%}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:70px 22px 24px;background:linear-gradient(transparent,#221729c9);color:white}.photo-label span{font-size:9px;letter-spacing:1.6px;display:block}.photo-label strong{font-family:Manrope;font-size:25px;letter-spacing:-1px}.mini-photo{position:absolute;width:145px;background:white;border:6px solid white;border-radius:10px;left:-25px;bottom:-3px;transform:rotate(-10deg);box-shadow:0 8px 35px #38213924}.mini-photo img{height:160px;width:100%;border-radius:5px}.mini-photo span{display:block;text-align:center;font-size:12px;font-weight:600;padding:8px 0 4px}.sticker{position:absolute;right:-12px;top:38px;background:#eee1f8;padding:17px 20px;border-radius:50%;font-size:12px;text-align:center;font-weight:700;line-height:1.4;transform:rotate(12deg);border:1px solid #cfb5d9}.ticker{background:var(--ink);color:#fff0e9;display:flex;justify-content:space-around;gap:30px;padding:19px 25px;font-size:19px;overflow:hidden;white-space:nowrap}.ticker span{font-size:10px;font-weight:600;letter-spacing:2px;align-self:center}.section{padding:90px 6%;max-width:1600px;margin:auto}.section-top{display:flex;justify-content:space-between;align-items:end;gap:25px}.section-top>p{font-size:14px;color:var(--muted)}.section-top .eyebrow{margin-bottom:15px}.filters{display:flex;gap:10px;margin:10px 0 30px;flex-wrap:wrap}.chip{padding:9px 22px;border:1px solid var(--line);border-radius:25px;background:transparent;color:var(--ink);font-size:13px}.chip.active{background:var(--ink);border-color:var(--ink);color:white}.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.card-image{height:auto;aspect-ratio:4 / 5;position:relative;overflow:hidden;border-radius:12px;background:var(--lilac)}.card-image img{height:100%;width:100%;object-position:center top;transition:transform .4s}.portrait-card:hover img{transform:scale(1.04)}.card-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:17px}.card-meta h3{margin:0}.card-meta>span{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:3px 9px}.portrait-card p{color:var(--muted);font-size:12px;margin-top:5px}.more-worlds{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:24px}.more-worlds a{background:var(--lilac);border-radius:10px;padding:18px;font-size:12px}.more-worlds span{display:block;font-weight:700;font-size:16px;margin-bottom:5px}.how{background:#f2eaf6;max-width:none}.how>h2,.how>.eyebrow{text-align:center;justify-content:center}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px;margin-top:45px}.steps b{font-size:14px;display:inline-grid;place-items:center;background:white;width:42px;height:42px;border-radius:50%;margin-bottom:20px}.steps p{font-size:14px;color:var(--muted);max-width:330px}.keepsakes{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.keepsakes>div>p:not(.eyebrow){color:var(--muted)}.product-scene{height:510px;background:#f1c9b8;position:relative;border-radius:15px;overflow:hidden;background:linear-gradient(160deg,#f1cec0,#e6ac98)}.frame{position:absolute;width:58%;top:40px;left:45px;border:13px solid #51382b;box-shadow:12px 18px 25px #63463840;background:#fff3e4;padding:15px;transform:rotate(-6deg)}.frame img{width:100%;height:300px}.postcard{position:absolute;width:37%;right:24px;bottom:65px;border:8px solid white;transform:rotate(9deg);box-shadow:6px 9px 20px #51382b44}.postcard img{height:210px;width:100%}.scene-label{position:absolute;bottom:20px;width:100%;text-align:center;font-size:12px;font-weight:600}.product-line{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:15px 0}.product-line small{font-size:11px;color:var(--muted)}.keepsakes .button{margin-top:25px}.fine{font-size:11px;color:var(--muted);margin:15px 0}.faq{display:grid;grid-template-columns:1fr 1.4fr;gap:8%;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line);padding:20px 0}summary{display:flex;justify-content:space-between;gap:25px;cursor:pointer;font-weight:600;font-size:15px;list-style:none}details p{color:var(--muted);font-size:14px;margin:15px 0 0}.closing{background:var(--coral);padding:65px 20px;text-align:center}.closing>span{font-size:45px}.closing h2{margin:12px 0 30px}footer{display:flex;flex-wrap:wrap;align-items:center;gap:30px;padding:45px 6%}footer p{font-size:13px;margin:0;flex:1}footer>a:not(.logo){font-size:13px}footer small{width:100%;border-top:1px solid var(--line);padding-top:20px;font-size:10px;color:var(--muted)}.skip{position:absolute;top:-80px;left:15px;z-index:20;background:white;padding:12px}.skip:focus{top:10px}.collection{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.collection h1{font-size:64px}.back{display:block;font-size:13px;margin-bottom:40px}.collection h2{font-size:30px;margin-top:40px}.collection-art img{height:650px;width:100%;border-radius:16px}.collection-art>span{font-size:11px;color:var(--muted)}blockquote{margin:0;padding:20px;border-left:3px solid var(--coral);background:var(--peach);font-size:14px}.studio-heading{padding:45px 6% 25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.studio-heading h1{font-size:42px;margin:0}.studio-heading .eyebrow{margin-bottom:10px}.demo-badge{font-size:9px;letter-spacing:1px;background:var(--lilac);padding:8px 13px;border-radius:20px}.studio{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;padding:20px 6% 80px;align-items:start}fieldset{border:0;border-bottom:1px solid var(--line);padding:0 0 25px;margin:0 0 25px}legend{font-weight:700;font-size:17px;margin-bottom:18px}legend b{display:inline-grid;place-items:center;width:27px;height:27px;background:var(--peach);border-radius:50%;font-size:12px;margin-right:8px}.preset-options{display:flex;gap:8px;flex-wrap:wrap}.preset{border:1px solid var(--line);background:white;border-radius:8px;padding:9px 13px;font-size:12px;color:var(--ink)}.preset.active{background:var(--ink);color:white;border-color:var(--ink)}.upload{display:flex;align-items:center;flex-direction:column;border:1px dashed #b99bb6;border-radius:12px;padding:24px;background:#f8f1f8;cursor:pointer;position:relative}.upload>span{font-size:26px}.upload small{font-size:11px;color:var(--muted)}.upload input{width:100%;font-size:11px;margin-top:12px}.uploads{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.upload-item{width:85px;position:relative}.upload-item img{width:85px;height:85px;border-radius:8px}.upload-item button{position:absolute;right:0;top:0;background:var(--ink);color:white;border:0;border-radius:50%}.upload-item span{display:block;font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}label{font-size:12px}textarea,select{display:block;width:100%;padding:12px;border:1px solid #ccbfc9;border-radius:8px;background:white;color:var(--ink);font-size:13px}textarea{margin-top:7px;resize:vertical}.field-row{display:flex;gap:16px;margin-top:16px}.field-row>label{flex:1}.field-row select{margin-top:5px}.purchase{display:flex;align-items:center;gap:12px;margin:9px 0;border:1px solid var(--line);border-radius:8px;padding:12px}.purchase small{display:block;color:var(--muted);font-size:11px}.purchase input{accent-color:var(--ink)}.studio-preview{background:var(--lilac);border-radius:16px;padding:20px;position:sticky;top:20px}.preview-label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;margin-bottom:15px}.studio-preview>img{height:auto;width:100%;border-radius:10px;object-fit:contain}.preview-caption h2{font-size:27px;margin:20px 0 8px}.preview-caption p{font-size:13px;margin-bottom:0}#brief{border-top:1px solid #d8c6e3;margin-top:25px;padding-top:25px}#brief h2{font-size:28px}#brief p,#brief dl{font-size:13px}#brief dt{font-weight:700}#brief dd{margin:0 0 10px}#status{font-size:13px;margin-top:12px}.image-note{position:absolute;bottom:15px;left:15px;background:white;padding:5px;border-radius:5px;font-size:10px}[hidden]{display:none!important}
@media(min-width:1500px){.hero-inner{padding-top:85px;padding-bottom:100px}.hero-art{height:640px}}
@media(max-width:1000px){nav{gap:18px}.hero-inner{gap:3%;padding-top:45px}.hero-art{height:470px;padding-left:20px}.mini-photo{width:120px;left:0}.mini-photo img{height:125px}.hero-foot{gap:12px;flex-wrap:wrap}.actions{gap:15px;flex-wrap:wrap}.card-image{height:310px}.card-meta{align-items:start;flex-direction:column;gap:5px}.keepsakes{gap:5%}.product-scene{height:450px}.frame{left:25px}.frame img{height:250px}.product-line{align-items:start;flex-direction:column;gap:3px}.collection h1{font-size:48px}}
@media(max-width:700px){header{height:78px;padding:0 5%;gap:12px}.logo{font-size:24px}nav{display:none}.button.small{font-size:11px;padding:11px 14px;gap:9px}.hero-inner{grid-template-columns:1fr;padding:40px 6% 55px;gap:35px}.hero h1{font-size:55px}.hero-copy>p{font-size:15px}.hero-art{height:450px;margin:0 15px;padding:0 20px 10px 35px}.hero-photo{max-width:370px;margin:auto}.sticker{right:0;top:20px}.mini-photo{bottom:-10px;left:0}.ticker{justify-content:start;gap:25px}.section{padding:55px 6%}.section-top{display:block}.section-top>p br{display:none}.portrait-grid{grid-template-columns:1fr;gap:25px}.card-image{height:420px}.card-meta{flex-direction:row;align-items:center}.more-worlds{grid-template-columns:1fr;gap:10px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps p{max-width:none}.steps b{margin-bottom:12px}.steps h3{margin-bottom:10px}.keepsakes{grid-template-columns:1fr;gap:35px}.product-scene{height:430px}.frame{width:57%}.postcard{width:35%}.postcard img{height:190px}.faq{grid-template-columns:1fr;gap:10px}.closing h2{font-size:34px}footer{gap:18px}footer p{flex-basis:100%}.collection{grid-template-columns:1fr}.collection-art{grid-row:1}.collection-art img{height:390px}.collection h1{font-size:45px}.studio-heading{display:block}.studio-heading h1{font-size:34px;margin-bottom:15px}.studio{grid-template-columns:1fr;gap:30px}.studio-preview{position:static}.studio-preview>img{height:auto}.filters{gap:7px}.chip{padding:8px 15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Keep souvenir mockups proportional at every viewport width. */
.product-scene{height:auto;aspect-ratio:1 / 1.1;min-height:0}
.frame{top:9%;left:7%;width:58%;border-width:clamp(7px,1vw,13px);padding:3%}
.frame img,.postcard img{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:contain}
.postcard{right:5%;bottom:15%;width:37%;border-width:clamp(5px,.65vw,8px)}
.scene-label{bottom:5%;padding:0 12px}
.footer-links{display:flex;width:100%;flex-wrap:wrap;gap:12px 25px;font-size:12px}
.info-page{max-width:1000px;min-height:65vh}.info-page h1{font-size:clamp(38px,5vw,64px)}
.info-page h2{font-size:26px;letter-spacing:-.03em;margin-top:35px}.info-page p,.info-page li{color:var(--muted)}
.info-page a:not(.button){text-decoration:underline;text-underline-offset:3px}
.notice,.creation-note{background:var(--lilac);padding:22px;border-radius:12px;margin:25px 0}.notice p:last-child,.creation-note p{margin-bottom:0}.creation-note p{font-size:13px;margin-top:8px}
.request-form{max-width:620px;margin-top:30px}.request-form>label{display:block;margin:18px 0;font-weight:600;font-size:14px}.request-form input:not([type=checkbox]){display:block;width:100%;padding:13px;border:1px solid #ccbfc9;border-radius:8px;margin-top:8px;background:white;color:var(--ink)}
.request-form .consent{display:flex;align-items:start;gap:10px;font-weight:400}.consent input{margin-top:6px;accent-color:var(--ink)}
.request-actions{display:flex;gap:15px;flex-wrap:wrap}.request-actions>button:not(.button){background:transparent;border:0;text-decoration:underline;color:var(--ink)}
.keep-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:30px 0}.keep-grid article{border:1px solid var(--line);padding:25px;border-radius:12px}.keep-grid h2{margin-top:0}
@media(max-width:700px){.footer-links{display:flex}.keep-grid{grid-template-columns:1fr}.scene-label{font-size:10px}}
