@font-face{font-family:Inter;src:url(fonts/inter-latin.woff2) format("woff2");font-display:swap}
@font-face{font-family:Nunito;src:url(fonts/nunito-sans-latin.woff2) format("woff2");font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#28242d;background:#fff7f0}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}a{color:inherit}.topbar{display:flex;justify-content:space-between;align-items:center;padding:20px max(24px,calc((100vw - 1080px)/2));background:white;border-bottom:1px solid #f2e5e5}.brand{font:900 24px Nunito,sans-serif;text-decoration:none;color:#ed496c}.topbar>a:last-child{font-size:14px}main{max-width:1080px;margin:32px auto;padding:0 20px;display:grid;gap:24px}.card{background:white;border:1px solid #f0e4e6;border-radius:24px;padding:clamp(22px,4vw,40px);box-shadow:0 16px 45px #4423390c}.hero{background:linear-gradient(135deg,#fff,#fff0ee)}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:#ed496c}h1,h2{font-family:Nunito,sans-serif;line-height:1.15}h1{font-size:clamp(30px,5vw,52px);margin:12px 0}h2{font-size:26px;margin:0 0 16px}p{line-height:1.6}form{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:12px;align-items:end;margin:28px 0 8px}label{display:grid;gap:8px;font-weight:700;font-size:14px}input,select{height:48px;border:1px solid #d8cbd0;border-radius:12px;padding:0 14px;background:white;min-width:0;width:100%}input:focus,select:focus,button:focus-visible{outline:3px solid #8659ef88;outline-offset:2px}.button{border:0;border-radius:14px;background:#ed496c;color:white;font-weight:800;padding:15px 22px;min-height:48px}.button:disabled{opacity:.55;cursor:default}.small{font-size:14px;color:#615965}.progress{display:flex;gap:12px;align-items:baseline;margin:18px 0}.progress strong{font:900 28px Nunito,sans-serif;color:#ed496c}.link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;max-width:730px}.link-row label{grid-column:1/-1}.link-row button,.quiet{border:1px solid #cfc1c9;background:white;border-radius:12px;padding:12px 16px;font-weight:700;color:#643a59}.quiet{margin-top:6px}.section-heading{display:flex;justify-content:space-between;gap:20px;align-items:center}.design-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px}.design{border:1px solid #efe4e7;border-radius:16px;padding:10px;background:#fffaf8}.design img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px}.design strong{display:block;margin:9px 0 2px;overflow-wrap:anywhere}.design small{color:#685d64}.design button{display:block;border:0;background:none;color:#b83156;padding:10px 0;font-weight:700}.checkout-card{border-color:#f5c6d1}.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tiers div{display:grid;gap:6px;border-radius:14px;background:#fff5f5;padding:15px}.tiers span{font:900 25px Nunito,sans-serif;color:#ed496c}#checkout-error{color:#a32344;min-height:1.5em}footer{display:flex;justify-content:center;gap:22px;padding:24px;font-size:13px;color:#5e5661}[hidden]{display:none!important}@media(max-width:720px){form{grid-template-columns:1fr}.tiers{grid-template-columns:repeat(2,1fr)}.topbar{padding:18px 20px}.link-row{grid-template-columns:1fr}.card{padding:22px}}@media(max-width:420px){.tiers{grid-template-columns:1fr 1fr}.tiers span{font-size:21px}}
.danger{color:#a32344;border-color:#e8acbb}
.brand-layout{display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:28px;align-items:start}.brand-preview{position:relative;width:100%;aspect-ratio:1;background:#fff;padding:7% 7% 12%;box-shadow:0 20px 42px #42203525;overflow:hidden}.brand-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:2%;width:100%;height:100%}.brand-grid span{display:grid;place-items:center;background:linear-gradient(145deg,#f5d6e3,#d9d0f4);color:#815d80;font-size:11px;font-weight:800;letter-spacing:.08em}.brand-grid span:nth-child(2){background:linear-gradient(145deg,#ffe4be,#f4bfd0)}.brand-grid span:nth-child(3){background:linear-gradient(145deg,#d4e7ec,#e6d5fa)}.brand-grid span:nth-child(4){background:linear-gradient(145deg,#f8d4b4,#e7e1f6)}.brand-preview-footer{position:absolute;bottom:3%;right:7%;font:900 15px Nunito,sans-serif}.logo-layer{position:absolute;z-index:4;touch-action:none;cursor:grab;outline:2px dashed #ed496c;outline-offset:2px}.logo-layer:active{cursor:grabbing}.logo-layer img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none}.logo-layer.wand-active{cursor:crosshair}.logo-resize-handle{position:absolute;right:-10px;bottom:-10px;width:22px;height:22px;border:2px solid white;border-radius:50%;background:#ed496c;box-shadow:0 2px 7px #3e24435e;cursor:nwse-resize}.logo-layer.logo-locked{pointer-events:none;outline:none}.logo-layer.logo-locked .logo-resize-handle{display:none}.brand-controls{display:grid;gap:13px;align-content:start}.brand-controls .upload-label{display:grid;gap:8px}.brand-controls input[type=file]{height:auto;padding:12px;background:#fff}.brand-controls input[type=range]{padding:0;height:32px;accent-color:#ed496c}.brand-controls [data-logo-edit-controls]{display:grid;gap:11px}.brand-controls .quiet{margin:0;width:fit-content}.brand-controls [data-logo-note]{margin:0}.brand-controls #save-brand{width:fit-content}.brand-controls #brand-status{min-height:1.3em;margin:0}@media(max-width:720px){.brand-layout{grid-template-columns:1fr}.brand-preview{max-width:340px;margin:auto}.brand-controls #save-brand{width:100%}}
.brand-preview{padding:5.83% 9.58% 13.33%}.brand-grid{gap:1.65%}

/* Group journey follows the main Photophy visual language. */
:root{--pink:#c92f58;--purple:#8659ef;--ink:#202027;--muted:#625d68;--display:Nunito,system-ui,sans-serif}
body{background:linear-gradient(145deg,#fffaf5 0%,#fff2f6 52%,#f1ecff 100%);color:var(--ink)}
.topbar{border-bottom:1px solid #f0e4ea;background:#fffaf7e8;backdrop-filter:blur(12px)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:25px;letter-spacing:-.04em}
.brand img{display:block;width:min(187px,48vw);height:auto}
.logo-mark{position:relative;display:inline-block;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,#ff7a72,#ff5e7e 42%,#8b5cf6);box-shadow:0 7px 18px #ff5e7e38}
.logo-mark:before{content:"";position:absolute;inset:9px;border-radius:50%;background:#25242a;box-shadow:inset 0 0 0 2px #ffffff47}
.logo-mark:after{content:"";position:absolute;width:7px;height:7px;right:4px;top:4px;background:#ffc247;clip-path:polygon(50% 0,62% 35%,100% 35%,69% 57%,80% 100%,50% 73%,20% 100%,31% 57%,0 35%,38% 35%)}
.top-link{font-weight:800;color:#6f3bbb;text-decoration:none}
main{margin-top:26px;gap:20px}
#host-view{display:grid;gap:20px}
.card{border:1px solid #f1e0e6;border-radius:30px;box-shadow:0 20px 55px #44233912}
.hero{background:linear-gradient(122deg,#fffdfb 5%,#fff1f5 64%,#eee8ff)}
.eyebrow{color:var(--pink);font-family:var(--display);letter-spacing:.13em}
h1,h2,h3{font-family:var(--display);letter-spacing:-.035em}
h1{font-size:clamp(34px,5vw,55px);line-height:1.04;margin:12px 0 20px}
h1 em{font-style:normal;background:linear-gradient(100deg,#e83e69,#9853e8);background-clip:text;-webkit-background-clip:text;color:transparent}
h2{font-size:clamp(26px,3vw,34px);margin-bottom:10px}
.hero-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(250px,.85fr);align-items:center;gap:20px}
.hero-intro{max-width:580px;font-size:17px;line-height:1.65;color:var(--muted)}
.hero-benefits{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.hero-benefits span{padding:9px 13px;border-radius:999px;background:#fff;color:#59465b;font-size:12px;font-weight:800;box-shadow:0 5px 15px #4423390d}
.hero-art{position:relative;min-height:260px}.sample-print{position:absolute;width:190px;aspect-ratio:1;top:26px;left:48px;padding:14px 14px 30px;background:#fff;box-shadow:0 18px 32px #4b244326;transform:rotate(-10deg)}.sample-two{top:55px;left:145px;transform:rotate(10deg)}
.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px;height:100%}.sample-grid i{background:linear-gradient(135deg,#e4c7f4,#ff9aaa);border-radius:3px}.sample-grid i:nth-child(2){background:linear-gradient(135deg,#ffce83,#ff93ac)}.sample-grid i:nth-child(3){background:linear-gradient(135deg,#bbdff0,#bda3ff)}.sample-grid i:nth-child(4){background:linear-gradient(135deg,#f7bda7,#ded0ff)}.sample-print b{position:absolute;bottom:8px;left:14px;font-size:10px;letter-spacing:.08em;color:#af386b}
.create-panel{margin-top:24px;padding:24px;border:1px solid #f4cbd8;border-radius:24px;background:#fff;box-shadow:0 12px 32px #4423390d}.create-panel h2{margin:5px 0}.create-panel p{margin:4px 0;color:var(--muted)}
form{grid-template-columns:minmax(0,1.25fr) minmax(180px,.75fr) auto;margin:20px 0 9px}
label{color:#3a303b}input,select{border:1px solid #d9c9d4}input:focus,select:focus{border-color:#8659ef}
.button{border-radius:999px;background:var(--pink);box-shadow:0 11px 25px #c92f5833;transition:background .16s,transform .16s}.button:hover:not(:disabled){background:#aa2448;transform:translateY(-1px)}
.quiet,.link-row button{border-radius:999px;color:#603a59}.quiet:hover,.link-row button:hover{background:#fff1f6}
.small{color:var(--muted)}.progress{display:inline-flex;padding:10px 16px;border-radius:17px;background:#fff;align-items:center}.progress strong{color:var(--pink)}
.step-label{margin:0 0 12px}.optional{display:inline-block;vertical-align:middle;margin-left:7px;padding:6px 10px;border-radius:999px;background:#f0ecf7;color:#694b88;font:800 11px Inter,sans-serif;letter-spacing:0}
#branding-section>p:not(.eyebrow),.invite-card>p:not(.eyebrow),.checkout-card>p:not(.eyebrow){max-width:710px;color:var(--muted)}
.brand-preview{border:1px solid #eee1e8;border-radius:13px;box-shadow:0 16px 36px #42203520}.brand-preview-footer{color:#4e3d55}
.brand-preview-footer img{display:block;width:110px;max-width:100%;height:auto;background:#fffaf7;border-radius:4px;padding:2px}
.brand-controls{padding:8px 0}.brand-controls .upload-label{padding:16px;border:2px dashed #e2b6c9;border-radius:18px;background:#fff9fb}.brand-controls [data-logo-edit-controls]{padding:14px;border-radius:18px;background:#f9f6fb}.brand-controls input[type=file]{border:0;padding:8px 0}.brand-controls #save-brand{min-width:220px}
.invite-card{background:linear-gradient(135deg,#fff,#fff3f7 66%,#f3edff);border-color:#f2c5d4}.invite-card .link-row{max-width:100%}.invite-card .link-row button{border:0;background:#202027;color:white}.invite-card>.button{margin-top:16px}.host-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.host-tools .quiet{margin:0}
.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:25px}.how-grid>div{padding:22px;border:1px solid #f1e6ea;border-radius:20px;background:#fff9f9}.how-grid b{display:grid;width:39px;height:39px;place-items:center;border-radius:50%;background:linear-gradient(135deg,#ff6e7f,#8659ef);color:white}.how-grid h3{margin:16px 0 7px;font-size:20px}.how-grid p{margin:0;color:var(--muted);font-size:14px}
.pricing{background:#fffdfb}.tiers div{background:#fff3f6;border:1px solid #f6dce5}.tiers span{color:var(--pink)}.checkout-card{background:linear-gradient(135deg,#fff,#fff3f7)}
@media(max-width:850px){.hero-layout{grid-template-columns:1fr}.hero-art{display:none}form{grid-template-columns:1fr 1fr}form .button{grid-column:1/-1}.how-grid{grid-template-columns:1fr}}
@media(max-width:560px){main{padding:0 14px}.card{border-radius:23px;padding:22px}.topbar{padding:15px}.top-link{font-size:12px}form{grid-template-columns:1fr}.create-panel{padding:18px}.brand-controls #save-brand,.invite-card>.button{width:100%}.link-row button{width:100%}}
#create-form{grid-template-columns:minmax(0,1fr) minmax(190px,.55fr)}
#create-form .email-field{grid-column:1}
#create-form .button{grid-column:2;align-self:end}
.host-access{max-width:720px;margin-top:14px;padding:18px 20px;border:1px solid #f1cad7;border-radius:19px;background:#ffffffc9}
.host-access>strong{font:900 18px var(--display)}
.host-access>p{margin:7px 0 0}
#host-email-form,#recover-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;margin:14px 0 0}
#host-email-form .quiet{min-height:48px;margin:0}
.recover-card{background:linear-gradient(130deg,#fff,#f9f4ff)}
.recover-card>p:not(.eyebrow){color:var(--muted)}
.recover-card #recover-status{min-height:1.4em}
#saved-sessions{border-top:1px solid #eadce6;margin-top:22px;padding-top:18px}
#saved-sessions h3{font-size:18px;margin:0 0 12px}
#saved-session-links{display:flex;flex-wrap:wrap;gap:9px}
#saved-session-links a{padding:10px 14px;border:1px solid #e4cee1;border-radius:999px;background:white;color:#6c3dab;font-weight:800;text-decoration:none}
@media(max-width:850px){#create-form{grid-template-columns:1fr 1fr}#create-form .button{grid-column:2}}
@media(max-width:560px){#create-form,#host-email-form,#recover-form{grid-template-columns:1fr}#create-form .email-field,#create-form .button{grid-column:1}#host-email-form .quiet,#recover-form .button{width:100%}}
