.photo-studio{max-width:1150px;margin:auto}.studio-heading,.studio-section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.studio-heading{margin-bottom:26px}.studio-heading h1{margin:6px 0 0}.studio-heading a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.studio-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);padding:0;margin:0 0 28px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.studio-steps li{padding:0;color:var(--muted);font-size:.875rem;border-right:1px solid var(--line)}.studio-steps li:last-child{border:0}.studio-steps [aria-current]{background:#e9efde;color:var(--green);font-weight:700}.studio-hero{border-radius:20px;background:#f3eedf;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;padding:36px 34px;margin-bottom:38px;overflow:hidden}.studio-hero h2{font-size:clamp(26px,3vw,42px);line-height:1.3;letter-spacing:-1px;margin:12px 0 20px;max-width:410px}.studio-hero p{line-height:1.9;color:#6e7869;max-width:410px}.studio-hero .button{margin:12px 0}.studio-small{font-size:.75rem;color:var(--muted);line-height:1.8}.studio-hero .studio-small{font-size:.69rem;margin:7px 0 0}.studio-hero-photos{position:relative;min-height:340px}.studio-hero-photos figure{margin:0;position:absolute;background:#fffdf7;padding:10px 10px 18px;box-shadow:0 10px 28px #514b3020}.studio-hero-photos img{width:100%;height:auto;object-fit:cover;display:block}.studio-hero-photos figcaption{text-align:center;font-size:.7rem;margin-top:8px;color:#596449}.studio-mini{width:34%;left:0;top:0;transform:rotate(-9deg)}.studio-mini-pet{left:4%;top:173px;transform:rotate(5deg);z-index:2}.studio-large{width:55%;right:2%;top:20px;transform:rotate(5deg)}.studio-section-heading h2{font-size:1.4rem;margin:0}.studio-section-heading>span{font-size:.8rem;color:var(--muted)}.studio-filters{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.studio-filters button{border:1px solid var(--line);border-radius:30px;padding:9px 17px;background:#fff;color:var(--green);cursor:pointer;font:inherit;font-size:.8rem}.studio-filters [aria-pressed=true]{background:var(--green);color:white;border-color:var(--green)}.studio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.studio-scene{padding:10px;background:#fff;border:1px solid var(--line);border-radius:14px;cursor:pointer;text-align:left;color:var(--green);min-width:0;transition:transform .15s,box-shadow .15s}.studio-scene:hover{transform:translateY(-3px);box-shadow:0 8px 24px #174c3c13}.studio-scene>img{width:100%;height:auto;aspect-ratio:4/4.6;object-fit:cover;border-radius:8px;display:block}.studio-scene>span{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 7px 7px}.studio-scene strong{font-size:.9rem;line-height:1.5}.studio-scene .icon{flex-shrink:0}.studio-privacy{display:flex;gap:10px;align-items:flex-start;padding:22px 0;margin:24px 0 0;border-top:1px solid var(--line);font-size:.75rem;color:var(--muted);line-height:1.8}.studio-privacy .icon{flex-shrink:0;margin-top:3px}.studio-workbench{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.studio-selected{display:flex;gap:16px;padding:20px 0;align-items:center}.studio-selected>img{border-radius:8px;object-fit:cover;flex-shrink:0}.studio-selected p{font-size:.8rem;color:var(--muted);margin:6px 0;line-height:1.8}.studio-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.studio-upload{position:relative;border:1px dashed #aab9a0;border-radius:12px;min-height:240px;padding:26px 16px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:#f8f9f3;overflow:hidden;text-align:center;cursor:pointer}.studio-upload:focus-within{outline:3px solid #94b58e;outline-offset:3px}.studio-upload>input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}.studio-upload>img{width:100%;height:215px;object-fit:contain}.studio-upload>.icon{width:30px;height:30px}.studio-upload>span{font-size:.78rem;color:var(--muted)}.studio-upload.drag-over{background:#e9efde;border-color:var(--green)}.studio-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.studio-workbench>.studio-actions{justify-content:flex-end}.studio-error{color:#ac5048;font-size:.8rem;line-height:1.7;min-height:1.2em;overflow-wrap:anywhere}.studio-result{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start}.studio-result-image{background:#edece1;border-radius:16px;padding:24px}.studio-result-image img{display:block;width:100%;height:auto;box-shadow:0 8px 28px #383b2520}.studio-result-details h2{line-height:1.5;overflow-wrap:anywhere}.studio-result-details p{line-height:1.9;font-size:.83rem;color:var(--muted)}.studio-result-details>.button{margin:12px 0}.studio-save{background:white;border:1px solid var(--line);padding:22px;border-radius:14px;margin:18px 0}.studio-save h3{margin:0}.studio-save .form-field{margin:14px 0}.studio-save>.button{width:100%}.studio-save a{font-weight:700;font-size:.85rem}.photo-studio .form-field input,.photo-studio .form-field select{width:100%;min-width:0}.photo-studio .button:disabled{opacity:.5;cursor:not-allowed}.studio-result-details>.eyebrow{font-size:.7rem}.photo-studio [tabindex='-1']:focus{outline:none}
@media(max-width:1000px){.studio-hero{padding:26px;grid-template-columns:1fr 1fr}.studio-hero-photos{min-height:290px}.studio-mini-pet{top:150px}.studio-gallery{gap:14px}.studio-result{gap:20px}.studio-result-image{padding:15px}}
@media(max-width:650px){.studio-heading{margin-bottom:18px;gap:10px}.studio-heading .eyebrow{font-size:.58rem}.studio-heading h1{font-size:1.8rem}.studio-heading>a{font-size:.76rem}.studio-steps{margin-bottom:20px}.studio-steps li{font-size:.875rem}.studio-steps li>button{padding:12px 8px}.studio-hero{grid-template-columns:1fr;padding:24px;gap:26px}.studio-hero h2{font-size:30px}.studio-hero p{font-size:.86rem}.studio-hero-photos{width:100%;max-width:355px;min-height:360px;margin:0 auto}.studio-mini-pet{top:165px}.studio-large{top:18px}.studio-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.studio-scene{padding:7px}.studio-scene>span{padding:10px 1px 6px}.studio-scene strong{font-size:.8rem}.studio-section-heading{gap:10px;align-items:flex-start;flex-wrap:wrap}.studio-section-heading h2{font-size:1.15rem}.studio-filters{gap:7px}.studio-filters button{padding:8px 12px;font-size:.75rem}.studio-workbench{padding:18px}.studio-upload-grid{gap:12px}.studio-upload{min-height:200px;padding:16px 8px}.studio-upload>strong{font-size:.85rem}.studio-upload>span{font-size:.7rem}.studio-upload>img{height:170px}.studio-selected{align-items:flex-start}.studio-selected>img{width:54px;height:64px}.studio-selected p{font-size:.73rem}.studio-result{grid-template-columns:1fr}.studio-result-image{max-width:440px}.studio-actions .button{flex:1}.studio-workbench>.studio-actions>.button{width:100%}}
@media(prefers-reduced-motion:reduce){.studio-scene{transition:none}.studio-scene:hover{transform:none}}
.studio-hero-photos img{aspect-ratio:4/5;object-fit:cover}
.studio-hero-photos{aspect-ratio:1.08}
.portrait-modes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:2px 0 20px}.portrait-modes button{font:inherit;text-align:left;border:1px solid var(--line);background:#fafbf6;color:var(--green);padding:18px;border-radius:12px;cursor:pointer;min-width:0}.portrait-modes button[aria-pressed=true]{background:#edf2e3;border:2px solid var(--green);padding:17px}.portrait-modes strong,.portrait-modes span{display:block}.portrait-modes span{font-size:.77rem;color:var(--muted);margin-top:7px;line-height:1.5}.portrait-options{background:#f8f9f3;padding:20px;border-radius:12px;margin-bottom:22px}.portrait-connection{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:18px}.portrait-connection p{font-size:.83rem;line-height:1.7;margin:0;flex:1 1 230px}.portrait-connection>div{display:flex;flex-wrap:wrap;gap:10px}.portrait-connection .button{font-size:.78rem;padding:9px 12px}.portrait-photo-fields{padding:0;border:0;margin:0;min-width:0}.portrait-options .form-field{margin-bottom:14px}.portrait-options textarea{width:100%;min-height:84px;resize:vertical}.portrait-photo-fields:disabled{opacity:.65}.portrait-modes button:disabled{cursor:wait;opacity:.65}.portrait-options input,.portrait-options select,.portrait-options textarea{box-sizing:border-box;min-width:0}
@media(max-width:650px){.portrait-options{padding:16px}.portrait-modes button{padding:13px}.portrait-modes button[aria-pressed=true]{padding:12px}.portrait-modes strong{font-size:.85rem}.portrait-modes span{font-size:.7rem}.portrait-options .form-grid{grid-template-columns:1fr}.portrait-connection>div{width:100%}.portrait-connection .button{flex:1}}
#portrait-config-form [hidden]{display:none!important}.portrait-config-guide{border-top:1px solid var(--line);padding:18px 0;margin:14px 0;font-size:.875rem;line-height:1.8;overflow-wrap:anywhere}.portrait-config-guide summary{cursor:pointer;font-weight:650;color:var(--green)}.portrait-config-guide p{margin:12px 0}.portrait-config-guide li{margin-bottom:8px}.portrait-config-guide code{font-size:.8rem}.portrait-config-guide .form-grid{margin-top:12px}#portrait-config-form input,#portrait-config-form select{min-width:0;max-width:100%;box-sizing:border-box}#portrait-config-form .micro{font-size:.8rem;overflow-wrap:anywhere}@media(max-width:650px){#portrait-config-form .form-grid{grid-template-columns:1fr}}

.studio-selected .studio-pose-description{font-size:.94rem;line-height:1.65;color:var(--green);margin:8px 0}.studio-selected>img{width:96px;height:120px;object-fit:contain;background:#f2f3ed}@media(max-width:650px){.studio-selected>img{width:76px;height:95px}.studio-selected .studio-pose-description{font-size:.875rem}}
.ai-keepsake-workbench{margin:32px 0;padding:26px;border:1px solid var(--line);border-radius:16px;background:#fff;scroll-margin-top:24px}.ai-keepsake-workbench h2{margin:0 0 10px}.ai-keepsake-workbench>p{color:var(--muted);font-size:.875rem;line-height:1.8}.ai-keepsake-workbench input,.gift-fields textarea{width:100%;box-sizing:border-box}.studio-result [aria-disabled=true]{opacity:.5;pointer-events:none}.studio-result .portrait-modes{margin:16px 0}.studio-result .portrait-modes button{text-align:center}.ai-keepsake-workbench>.portrait-photo-fields>.form-field{margin:20px 0}.ai-keepsake-workbench .card-layout-picker{margin:20px 0}.ai-keepsake-workbench+ .memory-creation{margin-top:35px;padding-top:24px;border-top:1px solid var(--line)}@media(max-width:650px){.ai-keepsake-workbench{padding:18px}.ai-keepsake-workbench h2{font-size:1.3rem}}

.studio-purpose-notice{padding:16px 20px;background:#eaf0e4;border:1px solid #ccd9c1;border-radius:12px;color:var(--green);line-height:1.6}.story-discovery h2[id]{scroll-margin-top:24px}
.studio-photo-policy{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:12px;background:#f8f9f3;font-size:.875rem;line-height:1.7}.studio-photo-policy p{margin:0 0 10px}.studio-photo-policy label{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.studio-photo-policy input{flex:0 0 auto;width:18px;height:18px;margin-top:4px;accent-color:var(--green)}.studio-photo-policy a{text-decoration:underline}
.studio-result{scroll-margin-top:24px}.studio-result-meta{overflow-wrap:anywhere}.ai-keepsake-workbench .studio-section-heading{flex-wrap:wrap}.studio-result-details{min-width:0}.ai-keepsake-workbench .studio-actions{position:sticky;bottom:16px;background:#fff;padding:12px 0;margin-bottom:0}.ai-keepsake-workbench .studio-actions .button{min-height:44px}@media(max-width:650px){.ai-keepsake-workbench .studio-actions{bottom:calc(76px + env(safe-area-inset-bottom,0px));flex-wrap:wrap}.studio-result-details .studio-result-meta{font-size:.875rem}.studio-result-details>.button{min-height:44px}}

.studio-steps button{display:block;width:100%;height:100%;min-height:48px;padding:14px 18px;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.studio-steps button:hover:not(:disabled){background:#f0f4e9;text-decoration:underline;text-underline-offset:4px}.studio-steps button:focus-visible{outline:3px solid var(--green);outline-offset:-3px}.studio-steps button:disabled{cursor:default;opacity:.6}.studio-heading .studio-title-link{color:inherit;font:inherit;white-space:normal;text-decoration:none}.studio-title-link:hover{text-decoration:underline;text-underline-offset:6px}
.studio-preview-plan{font-size:.84rem;line-height:1.65;overflow-wrap:anywhere}.studio-preview-plan p{margin:8px 0}.portrait-data-notice{margin:20px 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#faf8f2;font-size:.875rem;line-height:1.7;overflow-wrap:anywhere}.portrait-data-notice summary{cursor:pointer;font-weight:650;color:var(--green)}.portrait-data-notice p{margin:12px 0}.portrait-data-notice .studio-actions{gap:16px;flex-wrap:wrap}
.studio-selected.studio-upload-story{align-items:center;gap:14px;margin:14px 0 20px;min-width:0}.studio-selected.studio-upload-story>img{width:56px;height:68px;object-fit:cover;flex-shrink:0}.studio-upload-story>strong{font-size:.95rem;line-height:1.5;overflow-wrap:anywhere;min-width:0}.studio-photo-options{margin:18px 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#faf8f2}.studio-photo-options>summary{cursor:pointer;font-weight:650;color:var(--green);line-height:1.5}.studio-photo-options>summary:focus-visible{outline:3px solid #b17b18;outline-offset:4px}.studio-photo-options-content{padding-top:14px;min-width:0}.studio-photo-options-content>.studio-pose-description{font-size:.875rem;line-height:1.65;color:var(--green)}.studio-photo-options-content>.portrait-options{margin:18px 0}.studio-photo-options-content .form-field{min-width:0}.studio-photo-options-content>.portrait-photo-fields{margin-top:18px}.studio-photo-options-content>.commerce-notice{margin-bottom:0}.studio-workbench>.portrait-connection{margin:18px 0 0;font-size:.875rem;line-height:1.65}
.studio-workbench>.studio-upload-price{color:var(--green);font-weight:650;line-height:1.65}

.studio-generation-panel{margin:18px 0;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0;background:#fff}
.portrait-selection{padding:18px;min-width:0}.portrait-settings-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:14px}.portrait-settings-heading>strong{font-size:.95rem}.portrait-demo-badge{padding:3px 8px;border-radius:6px;background:#f2f3eb;color:#647062;font-size:.75rem;line-height:1.5}.portrait-selection-grid{display:grid;grid-template-columns:minmax(0,1.5fr) repeat(2,minmax(0,1fr));gap:12px}.portrait-selection .form-field{min-width:0;margin:0}.portrait-selection select{box-sizing:border-box;min-height:44px}.portrait-selection .studio-small{margin:0;overflow-wrap:anywhere;font-size:.875rem}.portrait-dimension-row{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:8px 16px;margin-top:12px}.portrait-size-help,.portrait-credit-rules{padding:0;border:0}.portrait-size-help{font-size:.875rem;max-width:100%}.portrait-size-help[open]{flex-basis:100%}.portrait-size-help p{margin:8px 0 0;color:var(--muted);line-height:1.65}.portrait-size-help summary,.portrait-credit-rules summary{cursor:pointer;color:var(--green);font-weight:600;line-height:1.6}
/* Keep the quote readable without turning it into a second settings card. */
.portrait-payment-choice{min-width:0;border-top:1px solid var(--line);padding:10px 18px;background:#f3f7ef;line-height:1.5;overflow-wrap:anywhere}.portrait-credit-summary{display:flex;align-items:center;flex-wrap:wrap;gap:6px 20px}.portrait-credit-estimate{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;min-width:0}.portrait-credit-label{font-size:.875rem;color:var(--muted)}.portrait-credit-total{font-size:1.3rem;line-height:1.3;font-variant-numeric:tabular-nums}.portrait-credit-total small{font-size:.875rem;font-weight:600}.portrait-credit-balance{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;min-width:0;font-size:.875rem}.portrait-credit-balance b{font-variant-numeric:tabular-nums}.portrait-credit-warning{color:#8b4a20;font-size:.875rem}.portrait-payment-choice.has-credit-warning{background:#faf7ee}.portrait-payment-choice .studio-small{font-size:.875rem}.portrait-credit-footer{display:flex;align-items:baseline;justify-content:space-between;gap:4px 18px;flex-wrap:wrap;margin-top:4px}.portrait-payment-choice .portrait-credit-included{font-size:.875rem;color:var(--muted)}.portrait-payment-choice .button-row{margin:0 0 0 auto;display:flex;align-items:center;flex-wrap:wrap;gap:6px 16px}.portrait-payment-choice .button{min-height:44px}.portrait-payment-choice .text-button{font-size:.875rem;line-height:1.6;display:inline-flex;align-items:center;min-height:32px}.portrait-credit-rules{max-width:100%;font-size:.875rem}.portrait-credit-rules[open]{flex-basis:100%}.portrait-credit-rules p{color:var(--muted);line-height:1.65;margin:8px 0 0}
.studio-secondary-options{margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.studio-secondary-options>.portrait-data-notice,.studio-secondary-options>.studio-photo-options{margin:0;padding:0;border:0;border-radius:0;background:transparent}.studio-secondary-options>details+details{border-top:1px solid var(--line)}.studio-secondary-options>details>summary{padding:8px 0;font-size:.875rem;line-height:1.6}.studio-secondary-options>details[open]{padding-bottom:14px}.studio-secondary-options .studio-photo-options-content{padding-top:0}.studio-secondary-options .studio-photo-options-content>.portrait-options{margin:14px 0;padding:14px}.studio-secondary-options .portrait-data-notice p{font-size:.875rem;line-height:1.7}.studio-secondary-options .portrait-data-notice .studio-actions{margin:12px 0 0}
@media(max-width:650px){.portrait-selection{padding:16px}.portrait-payment-choice{padding:10px 14px}.portrait-selection-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portrait-selection-grid>.form-field:first-child{grid-column:1/-1}.portrait-credit-summary{gap:4px 12px}.portrait-credit-summary>.portrait-credit-balance{gap:4px 10px}.portrait-payment-choice .portrait-credit-links{flex-basis:100%;margin:0;gap:4px 16px}.portrait-payment-choice .text-button{min-height:44px}.portrait-credit-footer{gap:0 12px;align-items:center}.portrait-credit-included{flex:1 1 150px}.studio-secondary-options>details>summary{padding:10px 0;min-height:44px;box-sizing:border-box}.portrait-size-help summary,.portrait-credit-rules summary{padding:10px 0;min-height:44px;box-sizing:border-box}.portrait-demo-badge{font-size:.75rem}.portrait-settings-heading{margin-bottom:12px}}
