.as{background:#000;color:#fff;padding:clamp(56px,7vw,104px) var(--pad,24px);scroll-margin-top:24px}
.as [hidden]{display:none!important}
.as-inner{width:100%;max-width:1280px;margin:0 auto}
.as-hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:28px;background:linear-gradient(135deg,#1c1c1c,#0d0d0d 72%)}
.as-portrait{position:relative;min-height:590px;overflow:hidden;background:radial-gradient(ellipse at 20% 10%,#444,#202020 42%,#0b0b0b 90%);contain:paint}
.as-portrait-ghost{position:absolute;left:-.055em;top:48px;font-size:clamp(130px,17vw,230px);line-height:.8;font-weight:500;letter-spacing:-.09em;color:rgba(255,255,255,.075);user-select:none;pointer-events:none}
.as-portrait-media{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;color:#fff;overflow:hidden;text-decoration:none}
.as-image-backdrop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(18px);transform:scale(1.12);opacity:.38;pointer-events:none}
.as-image-frame{position:absolute;inset:0;pointer-events:none}
.as-image-main{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;transform-origin:center;pointer-events:none;user-select:none}
.as-portrait .as-image-backdrop{filter:blur(26px);opacity:.35}
.as-portrait .as-image-frame{inset:20px 20px 110px}
.as-portrait-monogram{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding-bottom:75px;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.2);font-size:clamp(150px,18vw,240px);font-weight:300;line-height:1;letter-spacing:-.09em;user-select:none}
.as-portrait-prompt{position:absolute;left:22px;right:22px;top:45%;display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;line-height:1.4;letter-spacing:0;color:rgba(255,255,255,.92)}
.as-portrait-plus{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(0,0,0,.32);font-size:25px}
.as-portrait-signature{position:absolute;z-index:2;left:0;right:0;bottom:0;padding:65px 30px 28px;background:linear-gradient(transparent,rgba(0,0,0,.72));pointer-events:none}
.as-portrait-name{font-size:clamp(30px,3.3vw,48px);line-height:1.05;font-weight:400;letter-spacing:-.055em}
.as-portrait-role{margin-top:11px!important;color:rgba(255,255,255,.6);font-size:11px;line-height:1.4;letter-spacing:.14em;text-transform:uppercase}
.as-portrait-actions{position:absolute;z-index:4;left:16px;right:16px;top:16px;display:flex;flex-wrap:wrap;gap:7px;letter-spacing:0}
.as-portrait-actions .as-photo-button{background:rgba(10,10,10,.85);font-size:12px;min-height:40px}
.as-story{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,3.5vw,48px)}
.as-heading{margin:0 0 26px;text-align:left}
.as-eyebrow{font-size:11px;line-height:1.4;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:15px}
.as-title{max-width:520px;font-size:clamp(32px,3.65vw,52px);font-weight:400;line-height:1.07;letter-spacing:-.045em}
.as-title .it,.as-behind-title .it{color:var(--orange,#ff4d1d)}
.as-copy{color:rgba(255,255,255,.64);font-size:clamp(16px,1.32vw,18px);line-height:1.75;letter-spacing:-.02em;overflow-wrap:anywhere}
.as-copy p{white-space:pre-wrap;margin:0}
.as-copy p+p{margin-top:22px}
.as-copy .as-lead{font-size:clamp(18px,1.55vw,21px);line-height:1.6;color:rgba(255,255,255,.9)}
.as-editor{width:100%;max-width:900px;margin:24px auto 0;padding:20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.16);border-radius:18px;letter-spacing:0}
.as-label{display:flex;flex-direction:column;gap:10px;font-size:13px;color:rgba(255,255,255,.8);font-weight:600}
.as-textarea{width:100%;resize:vertical;min-height:210px;max-height:680px;border:1px solid rgba(255,255,255,.2);border-radius:12px;padding:14px;background:#080808;color:#fff;font:400 16px/1.6 var(--sans,system-ui,sans-serif);letter-spacing:0}
.as-textarea::placeholder{color:rgba(255,255,255,.33)}
.as-textarea:focus-visible{outline:2px solid var(--orange,#ff4d1d);outline-offset:3px}
.as-text-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:13px}
.as-count{font-size:11px;line-height:1.4;color:rgba(255,255,255,.45);font-variant-numeric:tabular-nums;letter-spacing:0}
.as .as-save-text{background:var(--orange,#ff4d1d);border-color:transparent;color:#111;font-weight:700}
.as .as-save-text:hover{background:var(--orange-hover,#ff6a40)}
.as-behind{margin-top:clamp(40px,5vw,72px)}
.as-behind-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:26px}
.as-behind-title{font-size:clamp(26px,3vw,42px);font-weight:400;line-height:1.1;letter-spacing:-.04em}
.as-behind-heading .as-eyebrow{margin-bottom:10px}
.as-upload-row{display:flex;flex-direction:column;align-items:flex-end;gap:10px;max-width:400px}
.as-help{max-width:360px;font-size:12px;line-height:1.6;color:rgba(255,255,255,.45);letter-spacing:0;text-align:right}
.as button{font-family:inherit;cursor:pointer}
.as button:disabled{cursor:default;opacity:.4}
.as.is-busy button:disabled{cursor:wait}
.as button:focus-visible,.as a:focus-visible{outline:2px solid var(--orange,#ff4d1d);outline-offset:4px}
.as-undo{margin-top:18px;padding:0;background:none;border:0;color:var(--orange,#ff4d1d);font-size:13px;min-height:36px;text-decoration:underline;text-underline-offset:4px;letter-spacing:0}
.as-photos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);align-items:start}
.as-card{min-width:0;margin:0}
.as-photo-link{display:block;position:relative;width:100%;padding:0;aspect-ratio:9/12;overflow:hidden;border-radius:26px;background:#171717;border:1px solid rgba(255,255,255,.15);contain:paint;transition:border-color .2s}
.as-photo-link:hover{border-color:rgba(255,77,29,.6)}
.as-photo-link .as-image-backdrop{opacity:.48}
.as-photo-link .as-image-frame{inset:10px 10px 66px}
.as-card-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:45px 18px 18px;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:14px;line-height:1.3;letter-spacing:-.02em;color:rgba(255,255,255,.9);pointer-events:none}
.as-card-ordinal{display:grid;place-items:center;min-width:30px;height:27px;padding:0 8px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.6);font-variant-numeric:tabular-nums}
.as-manage{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding-top:10px;letter-spacing:0}
.as-photo-number{min-width:18px;font-size:11px;font-variant-numeric:tabular-nums;color:rgba(255,255,255,.4)}
.as-photo-button{display:grid;place-items:center;min-width:34px;min-height:40px;padding:0 9px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:#131313;color:#fff;font-size:16px;line-height:1.3;letter-spacing:0}
.as-photo-button:hover:not(:disabled){border-color:rgba(255,255,255,.5);background:#202020}
.as-replace{flex:1;font-size:12px}
.as-photo-button[data-as="adjust"]{font-size:12px}
.as-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-width:0;width:100%;aspect-ratio:9/12;padding:22px;border:1px dashed rgba(255,255,255,.24);border-radius:26px;background:linear-gradient(145deg,#171717,#090909);color:rgba(255,255,255,.55);font-size:13px;line-height:1.6;text-align:center;letter-spacing:0}
.as-add-card:hover:not(:disabled){border-color:var(--orange,#ff4d1d);color:#fff}
.as-add-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.2);border-radius:50%;font-size:26px;line-height:1}
.as.is-editing .as-card{cursor:grab}
.as-card.is-dragging{opacity:.35}
.as-card.is-drop-target .as-photo-link{outline:2px solid var(--orange,#ff4d1d);outline-offset:4px}
.as-status{min-height:22px;margin:18px auto 0;max-width:820px;text-align:center;font-size:13px;line-height:1.6;letter-spacing:0;color:rgba(255,255,255,.6)}
.as-status.is-error{color:#ff977c}
.as-adjust-dialog .as-adjust-stage{flex-shrink:0}
.as-adjust-dialog .pe-stage img{max-width:none;will-change:transform}
.as-adjust-dialog .pe-header .it{color:var(--orange,#ff4d1d)}
.as-adjust-dialog .pe-controls input[type=range]{touch-action:pan-y}
@media(max-width:1024px){.as-hero{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.as-portrait{min-height:620px}.as-story{padding:30px}.as-photos{grid-template-columns:repeat(3,minmax(0,1fr))}.as-title{font-size:38px}}
@media(max-width:760px){.as-hero{grid-template-columns:minmax(0,1fr);border-radius:24px}.as-portrait{min-height:0;aspect-ratio:4/5}.as-portrait-ghost{font-size:40vw;top:25px}.as-portrait-monogram{font-size:46vw}.as-portrait .as-image-frame{inset:14px 14px 96px}.as-portrait-signature{padding:50px 24px 24px}.as-portrait-name{font-size:36px}.as-portrait-role{font-size:10px}.as-portrait-prompt{font-size:14px}.as-story{padding:28px 24px 32px}.as-heading{margin-bottom:24px}.as-title{font-size:38px}.as-copy{font-size:16px;line-height:1.75}.as-copy .as-lead{font-size:18px;line-height:1.65}.as-copy p+p{margin-top:20px}.as-behind-heading{align-items:flex-start;flex-direction:column;gap:20px}.as-upload-row{align-items:flex-start}.as-help{text-align:left}.as-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.as-photo-number{display:none}.as-photo-button{min-width:36px;min-height:44px}.as-replace{min-width:calc(100% - 42px);order:2}.as-photo-button[data-as="remove"]{order:3}.as-photo-link,.as-add-card{border-radius:22px}.as-photo-link .as-image-frame{inset:7px 7px 54px}.as-card-caption{padding:35px 13px 14px;font-size:12px}.as-card-ordinal{font-size:9px;min-width:27px;height:24px}.as-add-card{padding:16px;font-size:12px}}
@media(max-width:420px){.as-photos{gap:12px}.as-story{padding-left:22px;padding-right:22px}.as-text-actions{align-items:flex-start;flex-direction:column}.as-text-actions .chip{align-self:flex-end}.as-photo-link,.as-add-card{border-radius:18px}.as-portrait-actions{left:12px;right:12px;top:12px}.as-portrait-actions .as-photo-button{font-size:11px;min-height:40px}}
@media(prefers-reduced-motion:reduce){.as-photo-link{transition:none}}
