@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600;700&display=swap");:root{color-scheme:light;--ink:#201d1c;--muted:#5e5754;--paper:#fff;--surface:#f8f6f3;--line:#d9d5d1;--line-dark:#a9a39e;--accent:#171615;--berry:#76283a;--berry-dark:#5c1c2c;--error:#8c302f;--error-bg:#fff6f5;font-family:DM Sans,Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}html{min-height:100%;scroll-behavior:smooth}body{min-height:100vh;margin:0;background:var(--paper);color:var(--ink)}::selection{color:#fff;background:var(--berry)}button,textarea{font:inherit}a,button{color:inherit}a:focus-visible,button:focus-visible,input:focus-visible+span,textarea:focus-visible{outline:3px solid #8b3346;outline-offset:3px}button:disabled{cursor:not-allowed;opacity:.58}.studio-shell{width:min(1080px,calc(100% - 48px));margin:0 auto;padding-bottom:30px}.topbar{min-height:68px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;text-decoration:none;font-family:Playfair Display,Georgia,serif;font-size:21px;font-weight:700;letter-spacing:-.03em}.brand img{width:38px;height:38px;border-radius:4px;object-fit:cover}.topbar-note{color:var(--muted);font-size:12px}.account-actions{display:flex;align-items:center;gap:14px;flex:none}.account-actions form{margin:0}.account-link{display:inline-block;padding:8px 2px;border:0;background:transparent;color:var(--muted);font:600 12px/1.2 DM Sans,Arial,sans-serif;text-decoration:none;cursor:pointer}.account-link.active,.account-link:hover{color:var(--berry);text-decoration:underline;text-underline-offset:4px}.landing-shell{padding-bottom:24px}.landing-topbar{border-bottom:0}.landing-hero{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;grid-gap:clamp(30px,6vw,72px);gap:clamp(30px,6vw,72px);padding:48px 0 42px}.landing-copy h1{max-width:8.5ch;margin:0;font:600 clamp(42px,5.2vw,62px)/1.02 Playfair Display,Georgia,serif;letter-spacing:-.04em}.landing-lede{max-width:42ch;margin:18px 0 0;color:var(--muted);font-size:16px;line-height:1.65}.landing-cta{width:-moz-fit-content;width:fit-content;min-width:168px;margin-top:23px;text-decoration:none}.landing-cta span{margin-left:14px}.landing-audience{max-width:42ch;margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.landing-preview{min-width:0;padding:22px;border:1px solid var(--line);background:var(--surface)}.landing-preview-heading h2,.landing-steps h2{margin:0;font:600 24px/1.2 Playfair Display,Georgia,serif;letter-spacing:-.02em}.landing-preview-heading p{margin:7px 0 17px;color:var(--muted);font-size:12px;line-height:1.5}.landing-preview-items{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.landing-preview-item{min-width:0;background:#fff}.landing-preview-item img{display:block;width:100%;aspect-ratio:1/.92;object-fit:cover;background:#eee5da}.landing-preview-item div{padding:9px 9px 11px}.landing-preview-item span{color:var(--berry);font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.landing-preview-item h3{margin:4px 0 0;font:600 13px/1.3 Playfair Display,Georgia,serif}.landing-steps{padding:25px 0 27px;border-top:1px solid var(--line)}.landing-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:24px;gap:24px;margin:19px 0 16px;padding:0;list-style:none}.landing-steps li{display:flex;gap:12px;min-width:0}.landing-steps li>span{color:var(--berry);font-size:11px;font-weight:700}.landing-steps h3{margin:0;font-size:13px;line-height:1.4}.landing-steps li p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.text-link{display:inline-flex;gap:8px;color:var(--berry);font-size:12px;font-weight:700;text-underline-offset:4px}.text-link:hover{color:var(--berry-dark)}.studio-intro{max-width:760px;margin:34px auto 20px;text-align:center}.studio-shell[data-screen=board] .studio-intro,.studio-shell[data-screen=result] .studio-intro{margin-top:20px;margin-bottom:12px}.studio-shell[data-screen=board] .step-track,.studio-shell[data-screen=result] .step-track{margin-top:12px}.studio-intro h1{max-width:680px;margin:0 auto;font:600 34px/1.14 Playfair Display,Georgia,serif;letter-spacing:-.025em}.intro-copy{max-width:56ch;margin:10px auto 0;color:var(--muted);font-size:14px;line-height:1.6}.step-track{width:-moz-fit-content;width:fit-content;max-width:100%;display:flex;justify-content:center;gap:0;margin:20px auto 0;border:1px solid var(--line);border-radius:0;background:#fff}.step{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 14px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px;font-weight:600;white-space:nowrap;cursor:pointer}.step:last-child{border-right:0}.step span{color:#77706c;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.step.active{background:#f5f4f2;color:var(--ink)}.step.active span{color:var(--berry)}.step:disabled{cursor:not-allowed;color:#77716d}.honest-note{margin:0 auto 25px;border:1px solid var(--line);background:var(--surface);color:#4e4845;font-size:12px;line-height:1.55}.honest-note,.message{max-width:820px;padding:11px 14px}.message{margin:0 auto 16px;border:1px solid #e4c5c2;background:var(--error-bg);color:var(--error);font-size:13px;line-height:1.5}.location-consent{max-width:820px;display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 auto 18px;padding:13px 14px;border:1px solid var(--line);background:var(--surface)}.location-consent p{display:grid;grid-gap:3px;gap:3px;margin:0;font-size:12px;line-height:1.5}.location-consent p strong{font-size:13px}.location-consent p span{color:var(--muted)}.location-consent-actions{display:flex;flex:none;gap:8px}.location-consent-actions .primary-button,.location-consent-actions .secondary-button{min-height:40px;padding:0 11px;font-size:11px}.location-message{max-width:820px;margin:-8px auto 16px;color:var(--muted);font-size:12px;line-height:1.5}.work-area{max-width:820px;min-height:0;margin:0 auto;overflow:visible;border:0;background:transparent;box-shadow:none}.input-layout{display:grid;grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto;align-items:start;grid-gap:24px;gap:24px}.form-panel{padding:0}.section-heading{margin:0 0 24px}.board-heading h2,.empty-state h2,.result-copy h2,.section-heading h2{margin:0;font:600 24px/1.2 Playfair Display,Georgia,serif;letter-spacing:-.02em}.board-heading>div>p,.section-heading p{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.form-panel form{display:flex;flex-direction:column;align-items:stretch}.form-panel label{margin:0 0 7px;font-size:12px;font-weight:600}.field-help{margin:-1px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}.form-panel textarea{width:100%;min-height:94px;margin:0 0 19px;padding:12px 13px;resize:vertical;border:1px solid var(--line-dark);border-radius:0;background:#fff;color:var(--ink);font-size:14px;line-height:1.55}.form-panel textarea::placeholder{color:#68615d;opacity:1}.form-panel textarea:hover{border-color:#69625e}.form-panel textarea:focus{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:1px}.form-panel textarea:focus:invalid{border-color:var(--error);outline-color:var(--error)}.optional-label{color:var(--muted);font-weight:400}.mood-picker{min-width:0;margin:0 0 19px;padding:0;border:0}.mood-picker legend{margin:0 0 9px;padding:0;font-size:12px;font-weight:600}.mood-picker legend span{margin-left:4px;color:var(--muted);font-weight:400}.mood-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:7px;gap:7px}.mood-option{position:relative;display:block!important;margin:0!important;cursor:pointer}.mood-option input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.mood-option>span{min-height:54px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:8px 10px;border:1px solid var(--line);background:#fff}.mood-option strong{color:var(--ink);font-size:12px}.mood-option small{color:var(--muted);font-size:10px;line-height:1.35;font-weight:400}.mood-option input:checked+span{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#f5f4f2}.mood-option input:focus-visible+span{outline:3px solid #8b3346;outline-offset:2px}.primary-button,.secondary-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 18px;border-radius:0;font-size:13px;font-weight:600;cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.primary-button{border:1px solid var(--accent);background:var(--accent);color:#fff}.primary-button:hover:not(:disabled){border-color:#33302e;background:#33302e}.secondary-button{border:1px solid var(--line-dark);background:#fff;color:var(--ink)}.secondary-button:hover{border-color:var(--accent);background:#f6f5f3}.form-footnote{margin:10px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.editorial-prompt{min-width:0;display:grid;grid-template-columns:190px minmax(0,1fr);align-items:stretch;margin:0;border:1px solid var(--line);background:var(--surface)}.editorial-prompt>img{display:block;width:100%;height:220px;object-fit:cover;object-position:center 30%}.editorial-prompt-caption{display:grid;align-content:center;grid-gap:5px;gap:5px;padding:12px 13px;color:var(--muted);font-size:11px;line-height:1.5}.editorial-prompt-caption strong{color:var(--ink);font-size:12px;font-weight:600}.editorial-prompt-caption span{display:block}.empty-hint{margin:16px auto 0;color:var(--muted);text-align:center;font-size:12px}.result-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px;padding:0}.result-visual-stack{width:min(100%,690px);margin:0 auto}.model-look{padding:0;border:0;background:transparent;box-shadow:none}.model-look>.model-art{display:block;width:100%;max-height:none;aspect-ratio:4/5;object-fit:cover;background:#f2eee8}.model-look figcaption{display:flex;flex-wrap:wrap;gap:5px 14px;padding:9px 0 0;color:var(--muted);font-size:11px;line-height:1.45}.model-look figcaption span:first-child{color:var(--ink);font-weight:600}.result-copy{width:min(100%,620px);margin:0 auto}.result-copy h2{margin-bottom:10px}.result-idea{margin:0 0 16px;color:#4e4744;font:italic 15px/1.55 Playfair Display,Georgia,serif}.design-facts{margin:0 0 20px}.design-facts div{display:grid;grid-template-columns:112px minmax(0,1fr);grid-gap:12px;gap:12px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.design-facts dt{color:var(--muted);font-weight:600}.design-facts dd{margin:0;color:var(--ink);line-height:1.5}.design-facts dd i{width:11px;height:11px;display:inline-block;margin-right:7px;border:1px solid rgba(0,0,0,.2);border-radius:50%;vertical-align:-1px}.button-row{display:flex;flex-wrap:wrap;gap:9px}.button-row .primary-button{flex:1 1}.publish-controls{display:grid;justify-items:start;grid-gap:8px;gap:8px;margin-top:14px}.publish-note{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.board-layout{padding:0}.board-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:0 0 18px;border-bottom:1px solid var(--line)}.board-heading>div{max-width:54ch}.mood-stamp{flex:none;padding:8px 12px;border:1px solid #b57859;border-radius:999px;background:#fff8ed;color:#583321;font-size:11px;font-weight:700;text-transform:capitalize}.accessory-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;grid-gap:14px;gap:14px;padding:18px 0 20px}.accessory-note{min-width:0;overflow:hidden;border:1px solid var(--line);background:#fff;box-shadow:0 4px 12px rgba(33,28,25,.07)}.accessory-copy{padding:18px 16px 16px}.accessory-category{display:block;margin-bottom:5px;color:var(--berry);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.accessory-note h3{margin:0 0 7px;font:600 17px/1.24 Playfair Display,Georgia,serif}.accessory-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.55}.alternative-button{width:100%;min-height:38px;margin-top:12px;padding:7px 9px;border:1px solid var(--line-dark);background:#fff;color:var(--ink);font-family:inherit;font-size:11px;font-weight:650;line-height:1.3;cursor:pointer}.alternative-button:hover{border-color:var(--accent);background:#f6f5f3}.alternative-button:focus-visible{outline:3px solid #8b3346;outline-offset:3px}.alternative-status{margin-top:7px!important;color:var(--berry)!important;font-size:10px!important}.board-actions{display:flex;justify-content:space-between;gap:10px}.board-actions .primary-button{margin-left:auto}.gallery-section-title{margin:0 0 14px;font:600 22px/1.25 Playfair Display,Georgia,serif}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:14px;gap:14px}.gallery-card{min-width:0;padding:10px;border:1px solid var(--line);background:#fff}.gallery-card-link{display:block;color:inherit;text-decoration:none}.gallery-card-link:focus-visible{outline:3px solid #8b3346;outline-offset:3px}.gallery-card-link:hover h2{color:var(--berry);text-decoration:underline;text-underline-offset:3px}.gallery-accessories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;aspect-ratio:1.8/1;background:var(--surface)}.gallery-accessories img{width:100%;height:100%;min-width:0;object-fit:cover}.gallery-card h2{margin:10px 0 0;font:600 17px/1.3 Playfair Display,Georgia,serif}.gallery-card>p{margin:6px 0 2px;color:var(--muted);font-size:11px;line-height:1.45;text-transform:capitalize}.gallery-layout .empty-state{padding:24px 0}.weather-layout{max-width:640px}.weather-search{padding:0 0 18px}.weather-result-heading h2,.weather-search h2{margin:0;font:600 24px/1.2 Playfair Display,Georgia,serif;letter-spacing:-.02em}.weather-search>p{margin:7px 0 20px;color:var(--muted);font-size:13px;line-height:1.55}.weather-search form{display:flex;flex-direction:column;gap:7px}.weather-search label{font-size:12px;font-weight:600}.weather-search-row{display:flex;gap:9px}.weather-search input{width:100%;min-width:0;min-height:46px;padding:0 13px;border:1px solid var(--line-dark);border-radius:0;background:#fff;color:var(--ink);font:14px DM Sans,Arial,sans-serif}.weather-search input::placeholder{color:#68615d;opacity:1}.weather-search-row .primary-button{flex:none}.weather-matches{margin-top:13px;border-top:1px solid var(--line)}.weather-matches>p{margin:10px 0 6px;color:var(--muted);font-size:12px;font-weight:600}.weather-matches ul{max-height:220px;overflow:auto;margin:0;padding:0;list-style:none;border:1px solid var(--line)}.weather-matches li+li{border-top:1px solid var(--line)}.weather-matches button{width:100%;padding:9px 11px;border:0;background:#fff;color:var(--ink);text-align:left;font:12px DM Sans,Arial,sans-serif;cursor:pointer}.weather-matches button:hover:not(:disabled){background:var(--surface);color:var(--berry-dark)}.weather-matches button:focus-visible{outline:3px solid #8b3346;outline-offset:-3px}.weather-empty,.weather-status{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.weather-error{margin:14px 0 0}.weather-result{margin-top:14px;padding-top:18px;border-top:1px solid var(--line)}.weather-result-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.weather-result-heading h2{font-size:21px}.weather-result-heading p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.weather-condition{flex:none;color:var(--berry);font-size:12px;font-weight:700}.weather-now{display:flex;align-items:baseline;gap:12px;padding:15px 0 12px}.weather-now strong{font-size:48px;line-height:1;font-weight:500;letter-spacing:-.05em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weather-now span{color:var(--muted);font-size:12px}.weather-facts{margin:0;border-top:1px solid var(--line)}.weather-facts div{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.weather-facts dt{color:var(--muted);font-weight:600}.weather-facts dd{margin:0;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weather-tip{display:grid;grid-gap:4px;gap:4px;margin:16px 0 0;padding:13px 14px;background:var(--surface);color:#4e4845;font-size:12px;line-height:1.55}.weather-tip strong{color:var(--ink)}.weather-credit{margin:13px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.weather-credit a{color:var(--berry-dark);text-underline-offset:2px}.weather-back{display:inline-block;margin-top:18px;color:var(--berry-dark);font-size:12px;font-weight:600;text-underline-offset:3px}.welcome-intro{max-width:620px;margin-top:72px}.welcome-intro h1{font-size:clamp(32px,5vw,46px)}.welcome-actions{display:flex;justify-content:center;margin:24px 0 0}.welcome-actions .primary-button{min-width:220px}.welcome-privacy{margin-top:18px}.privacy-note{max-width:820px;margin:18px auto 0;color:var(--muted);text-align:center;font-size:11px;line-height:1.5}.empty-state{width:min(100%,620px);margin:0 auto;padding:28px 0;text-align:center;border-top:1px solid var(--line)}.empty-state p{max-width:48ch;margin:10px auto 20px;color:var(--muted);font-size:13px;line-height:1.6}.footer-note{display:flex;justify-content:space-between;gap:12px;padding:22px 2px 0;color:var(--muted);font-size:10px}.footer-note span:first-child{font-weight:700;letter-spacing:.1em}.spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}@media (max-width:760px){.studio-shell{width:min(100% - 30px,620px)}.studio-intro{margin-top:28px}.input-layout{grid-template-columns:minmax(0,1fr);gap:28px}.landing-hero{grid-template-columns:1fr;gap:30px;padding:35px 0 30px}.landing-copy h1{max-width:none;font-size:clamp(42px,11vw,56px)}.landing-lede{max-width:55ch}.landing-cta{width:100%;justify-content:center}}@media (max-width:480px){.studio-shell{width:calc(100% - 28px)}.topbar{min-height:60px;gap:8px}.brand{gap:8px;font-size:19px}.brand img{width:34px;height:34px}.topbar-note{display:none}.landing-topbar{display:flex}.landing-hero{gap:23px;padding:29px 0 23px}.landing-copy h1{font-size:43px}.landing-lede{margin-top:12px;font-size:14px}.landing-cta{margin-top:17px}.landing-preview{padding:13px}.landing-preview-heading h2,.landing-steps h2{font-size:21px}.landing-preview-items{gap:7px}.landing-preview-item div{padding:7px 6px 9px}.landing-preview-item span{font-size:8px}.landing-preview-item h3{font-size:11px}.landing-steps{padding:20px 0 23px}.landing-steps ol{grid-template-columns:1fr;gap:12px;margin-top:14px}.account-actions{gap:9px}.account-link{font-size:10px}.studio-intro{margin:24px auto 16px}.studio-intro h1{font-size:29px}.intro-copy{margin-top:8px;font-size:13px}.step-track{width:100%;margin-top:16px}.step{min-width:0;flex:1 1;justify-content:center;gap:4px;padding:0 5px}.step,.step span{font-size:9px}.section-heading{margin-bottom:19px}.location-consent{align-items:stretch;flex-direction:column;gap:10px;padding:12px}.location-consent-actions{display:grid;grid-template-columns:1fr 1fr}.location-consent-actions .primary-button,.location-consent-actions .secondary-button{min-width:0;padding:0 8px;font-size:10px}.board-heading h2,.empty-state h2,.section-heading h2{font-size:22px}.form-panel textarea{min-height:88px;margin-bottom:16px;font-size:13px}.mood-options{gap:6px}.mood-option>span{min-height:53px;padding:7px 8px}.mood-option strong{font-size:11px}.mood-option small{font-size:9px}.primary-button,.secondary-button{min-height:46px;padding:0 12px;font-size:12px}.board-actions{flex-direction:column}.board-actions .primary-button{margin-left:0}.board-actions button{width:100%}.board-heading{align-items:flex-start;gap:12px}.board-heading>div{min-width:0}.mood-stamp{padding:6px 8px;font-size:9px}.accessory-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.accessory-copy{padding:10px 10px 12px}.accessory-note h3{font-size:15px}.accessory-note p{font-size:11px}.gallery-grid{grid-template-columns:1fr}.weather-search-row{flex-direction:column}.weather-search-row .primary-button{width:100%}.weather-result-heading h2{font-size:19px}.weather-now strong{font-size:42px}.gallery-card{padding:9px}.gallery-card h2{font-size:16px}.welcome-intro{margin-top:48px}.welcome-intro h1{font-size:31px}.welcome-actions .primary-button{width:100%}.footer-note{padding-top:18px;font-size:9px}}