/* Love to Pieces v1. Approved artwork is immutable; layout/type is a separate web system. */
:root {
  --ltp-cobalt: #0a46a8;
  --ltp-deep: #08367f;
  --ltp-ivory: #fff7e8;
  --ltp-butter: #f5da7c;
  --ltp-soft-blue: #e9eff7;
  --ltp-ink: #23344d;
  --ltp-muted: #596578;
  --ltp-line: #d8dace;
  --ltp-display: Georgia, "Times New Roman", serif;
  --ltp-sans: "Segoe UI", Arial, sans-serif;
  --font-display: var(--ltp-display);
  --accent: var(--ltp-cobalt);
  --brand-violet: var(--ltp-cobalt);
  --brand-yellow: var(--ltp-butter);
  --brand-teal: #426c70;
}
.ltp-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
html[data-brand] .brand { display: inline-flex; flex: 0 0 auto; align-items: center; padding: 0; min-height: 44px; text-decoration: none; }
html[data-brand] .brand .ltp-wordmark { display: block; width: 188px; height: auto; max-width: none; object-fit: contain; mix-blend-mode: normal; }
html[data-brand] .brand:focus-visible { outline: 2px solid var(--ltp-cobalt); outline-offset: 6px; border-radius: 2px; }
html[data-brand] body.pet-experience, html[data-brand] body.pet-intent {
  --ink: var(--ltp-cobalt); --muted: var(--ltp-muted); --line: var(--ltp-line);
  --accent: var(--ltp-cobalt); --accent-dark: var(--ltp-deep);
  --yellow: var(--ltp-butter); --blue: var(--ltp-soft-blue);
  --surface: #fffdf8; --surface-soft: #f4f1e9;
  --display: var(--ltp-display); --sans: var(--ltp-sans);
  --pet-ink: var(--ltp-cobalt); --pet-muted: var(--ltp-muted); --pet-line: var(--ltp-line); --pet-accent: var(--ltp-cobalt);
  color: var(--ltp-ink); background: var(--ltp-ivory); background-image: none;
}
html[data-brand] .pet-experience .site-header, html[data-brand] body.pet-intent .topbar {
  height: 92px; background: var(--ltp-ivory); border-bottom: 1px solid var(--ltp-line); box-shadow: none;
}
html[data-brand] .pet-experience h1, html[data-brand] .pet-experience h2, html[data-brand] .pet-experience h3 {
  color: var(--ltp-cobalt); font-weight: 400; letter-spacing: -.045em; text-wrap: balance;
}
html[data-brand] .pet-experience h1 { line-height: 1.06; }
html[data-brand] .pet-experience h2 { font-size: 1.85rem; }
html[data-brand] .pet-experience h3 { font-size: 1.25rem; letter-spacing: -.025em; }
html[data-brand] .pet-experience .eyebrow { color: var(--ltp-cobalt); font-weight: 600; letter-spacing: .13em; }
html[data-brand] .pet-experience .button { border-radius: 6px; font-weight: 600; }
html[data-brand] .pet-experience .button-primary { background: var(--ltp-cobalt); color: var(--ltp-ivory); }
html[data-brand] .pet-experience .button-primary:not(:disabled):hover { background: var(--ltp-deep); box-shadow: 0 4px 12px #0a46a81a; }
html[data-brand] .pet-experience .button:disabled { background: #e6e8e5; color: #65717a; border-color: #d8dace; box-shadow: none; cursor: not-allowed; transform: none; }
html[data-brand] .pet-experience .surface-card, html[data-brand] .pet-experience .state-card,
html[data-brand] .pet-experience .dashboard, html[data-brand] .pet-experience .project-card,
html[data-brand] .pet-experience .message-card, html[data-brand] .pet-experience .design-loading,
html[data-brand] .pet-experience .design-error, html[data-brand] .pet-experience .project-visual {
  border: 1px solid var(--ltp-line); border-radius: 10px; box-shadow: 0 10px 35px #24334b06;
}
html[data-brand] .pet-experience .account-benefits { background: #f8e9b1; border: 1px solid #e4d49c; border-radius: 10px; padding: 34px; }
html[data-brand] .pet-experience .account-art { height: 230px; }
html[data-brand] .pet-experience .benefit-mark { background: var(--ltp-ivory); border: 0; }
html[data-brand] .pet-experience .field-help, html[data-brand] .pet-experience .privacy-note p { font-size: .875rem; }
html[data-brand] .pet-experience .auth-layout { gap: 28px; }
html[data-brand] .pet-experience .auth-card { padding: 48px; }
html[data-brand] .pet-experience .state-mark, html[data-brand] .pet-experience .loading-mark { border: 0; background: #f8e9b1; color: var(--ltp-cobalt); }
html[data-brand] .pet-experience .workflow { background: var(--ltp-soft-blue); border-color: var(--ltp-line); }
html[data-brand] .pet-experience .account-card, html[data-brand] .pet-experience .price-card { background: #faf0cc; border-color: #e6d7a7; }
html[data-brand] .pet-experience .project-visual { background: #f1eadb; }
html[data-brand] .pet-experience .project-visual[data-media="making"] { background: #f5e6ad; }
html[data-brand] .pet-experience .visual-caption, html[data-brand] .pet-experience .visual-placeholder p { color: var(--ltp-muted); }
html[data-brand] .pet-experience .visual-topline { color: var(--ltp-cobalt); font-weight: 600; }
html[data-brand] .pet-experience .stage-column { border-color: var(--ltp-line); border-radius: 10px; padding: 36px; }
html[data-brand] .pet-experience .stage-column .eyebrow { color: var(--ltp-cobalt); }
html[data-brand] .pet-experience .stage-column h1 { font-size: clamp(2.4rem, 3.7vw, 3.35rem); }
html[data-brand] .pet-experience .stage-column h2 { font-family: var(--ltp-sans); font-size: 1.125rem; letter-spacing: -.02em; font-weight: 600; }
html[data-brand] .pet-experience .price strong { font-weight: 400; }
html[data-brand] .pet-experience .demo-banner { background: var(--ltp-deep); }
html[data-brand] .pet-experience .making-pulse i { background: var(--ltp-cobalt); }
html[data-brand] .pet-experience .site-footer { border-color: var(--ltp-line); }
html[data-brand] .pet-experience .site-footer p { font-size: .8125rem; }
html[data-brand] .pet-experience .change-dialog { border-color: var(--ltp-line); border-radius: 10px; }
html[data-brand] .pet-experience .project-card, html[data-brand] .pet-experience .empty-card,
html[data-brand] .pet-experience .availability, html[data-brand] .pet-experience .check-list span,
html[data-brand] .pet-experience .editor-status { background: var(--ltp-soft-blue); border-color: var(--ltp-line); }
html[data-brand] .pet-experience .project-card:hover { background: #dde7f4; border-color: var(--ltp-cobalt); }
html[data-brand] .pet-experience .project-state[data-tone="active"] i { background: var(--ltp-cobalt); }
html[data-brand] .pet-experience .timeline li:not(:last-child)::after { background: #b8c5d4; }
html[data-brand] .pet-experience .step-marker { background: var(--ltp-soft-blue); border-color: #b8c5d4; }
html[data-brand] .pet-experience .note-tag { background: #f8e9b1; color: var(--ltp-ink); }
html[data-brand] .pet-experience input[type="email"], html[data-brand] .pet-experience textarea { border-radius: 6px; border-color: #a6b0b9; }
/* Photo submission: the same paper-and-ink identity, without decorative workspace clutter. */
html[data-brand] body.pet-intent.landing-empty { background: var(--ltp-ivory); }
html[data-brand] body.pet-intent.landing-empty .workspace { padding-block: 50px 64px; gap: 60px; }
html[data-brand] body.pet-intent .pet-companion h2 { font-family: var(--ltp-display); color: var(--ltp-cobalt); font-weight: 400; font-size: clamp(2.7rem, 4vw, 3.7rem); line-height: 1.06; }
html[data-brand] body.pet-intent .pet-example { border: 1px solid #dfd5b6; border-radius: 5px; box-shadow: 0 8px 24px #23344d0a; background: #f8e9b1; transform: rotate(-1deg); }
html[data-brand] body.pet-intent .pet-example-label { color: var(--ltp-cobalt); font-weight: 600; }
html[data-brand] body.pet-intent .intake-path { gap: 24px; }
html[data-brand] body.pet-intent .intake-path b { border-color: var(--ltp-line); }
html[data-brand] body.pet-intent.landing-empty .prompt-panel { border: 1px solid var(--ltp-line); border-radius: 10px; box-shadow: 0 12px 35px #23344d05; }
html[data-brand] body.pet-intent .workflow-stage-heading h1 { font-family: var(--ltp-display); font-weight: 400; color: var(--ltp-cobalt); font-size: clamp(2.25rem, 3.5vw, 3.2rem); letter-spacing: -.045em; }
html[data-brand] body.pet-intent .workflow-stage-heading .eyebrow { color: var(--ltp-cobalt); font-weight: 600; letter-spacing: .13em; }
html[data-brand] body.pet-intent .upload-heading label, html[data-brand] body.pet-intent .pet-intake-card > header strong { font: 600 1.125rem var(--ltp-sans); color: var(--ltp-ink); }
html[data-brand] body.pet-intent .upload-dropzone { border: 1px dashed #718daf; background: #f2f4f5; border-radius: 6px; }
html[data-brand] body.pet-intent .upload-dropzone:hover, html[data-brand] body.pet-intent .upload-dropzone.dragover { border-color: var(--ltp-cobalt); background: #e9eff7; }
html[data-brand] body.pet-intent .upload-icon { background: var(--ltp-butter); color: var(--ltp-cobalt); border-radius: 50%; }
html[data-brand] body.pet-intent .pet-species-options input:checked + span { background: #f8e9b1; border-color: var(--ltp-cobalt); box-shadow: none; }
html[data-brand] body.pet-intent .pet-species-options input:checked + span b { background: var(--ltp-cobalt); }
html[data-brand] body.pet-intent #generateButton { background: var(--ltp-cobalt); border-radius: 6px; font-weight: 600; }
html[data-brand] body.pet-intent #generateButton:not(:disabled):hover { background: var(--ltp-deep); }
html[data-brand] body.pet-intent #generateButton:disabled { background: #e6e8e5; color: #65717a; }
html[data-brand] body.pet-intent .pet-prototype-note, html[data-brand] body.pet-intent .pet-photo-tips li { background: #f4f1e9; color: var(--ltp-muted); }
html[data-brand] body.pet-intent .pet-prototype-note, html[data-brand] body.pet-intent .rights-confirmation { font-size: .8125rem; }
html[data-brand] body.pet-intent .prompt-wrap textarea, html[data-brand] body.pet-intent .pet-name-field input { border-radius: 6px; border-color: #b6b9b8; }
html[data-brand] body.pet-intent .legal-header { background: var(--ltp-ivory); border-bottom: 1px solid var(--ltp-line); }
html[data-brand] body.pet-intent .legal-effective { background: var(--ltp-soft-blue); border-color: var(--ltp-line); color: var(--ltp-muted); }
/* General-purpose builder and editor keep their tools; their chrome joins the new brand. */
html[data-brand] body:has(#generationForm):not(.pet-intent), html[data-brand] body:has(.studio-app) { --ink: var(--ltp-ink); --text: var(--ltp-ink); --accent: var(--ltp-cobalt); --font-display: var(--ltp-display); }
html[data-brand] .topbar { background: var(--ltp-ivory); border-color: var(--ltp-line); box-shadow: none; }
html[data-brand] .workspace::before { background-image: none; background: #f4f1e9; filter: none; opacity: 1; }
html[data-brand] .workflow-guide { display: none !important; }
html[data-brand].marketing-entry, html[data-brand].marketing-entry body { background: var(--ltp-ivory); }
html[data-brand] .marketing-page { background: var(--ltp-ivory); }
html[data-brand].marketing-entry .topbar { height: 90px; background: var(--ltp-ivory); }
html[data-brand] .landing-hero h1, html[data-brand] .landing-section-heading h2, html[data-brand] .landing-product-copy h2, html[data-brand] .landing-final-cta h2 { font-family: var(--ltp-display); font-weight: 400; color: var(--ltp-cobalt); letter-spacing: -.045em; }
html[data-brand] .landing-hero h1 em { color: var(--ltp-cobalt); background: none; -webkit-text-fill-color: currentColor; }
html[data-brand] .landing-hero h1 { font-size: clamp(3.25rem, 5vw, 4.5rem); line-height: 1.04; }
html[data-brand] .landing-kicker, html[data-brand] .landing-section-kicker, html[data-brand] .landing-step-copy > span { color: var(--ltp-cobalt); }
html[data-brand] .landing-kicker i { background: var(--ltp-butter); box-shadow: none; }
html[data-brand] .landing-step-copy h3 { color: var(--ltp-cobalt); font-weight: 400; font-size: 1.6rem; }
html[data-brand] .landing-step-copy p { font-size: .9375rem; }
html[data-brand] .landing-feature-list strong { font-size: .875rem; }
html[data-brand] .landing-feature-list small { font-size: .8125rem; }
html[data-brand] .landing-nav { font-weight: 500; }
html[data-brand] .landing-nav > a, html[data-brand] .landing-text-cta { font-size: .8125rem; }
html[data-brand] .landing-model-footer .active { color: var(--ltp-cobalt); }
html[data-brand] .landing-model-footer .active i, html[data-brand] .landing-step-tool span { background: var(--ltp-cobalt); }
html[data-brand] .landing-model-toolbar > em, html[data-brand] .landing-model-badge > i { background: var(--ltp-soft-blue); color: var(--ltp-cobalt); }
html[data-brand] .landing-hero-aura, html[data-brand] .landing-orbit, html[data-brand] .landing-corner-brick, html[data-brand] .landing-float-chip { display: none; }
html[data-brand] .landing-model-card { border-color: var(--ltp-line); background: #f8e9b1; box-shadow: 0 15px 40px #23344d0d; }
html[data-brand] .landing-model-stage { background: #f8e9b1; }
html[data-brand] .landing-model-toolbar, html[data-brand] .landing-model-footer { background: var(--ltp-ivory); }
html[data-brand] .landing-primary-cta, html[data-brand] .landing-nav-cta { background: var(--ltp-cobalt); box-shadow: none; border-radius: 6px; }
html[data-brand] .landing-primary-cta:hover, html[data-brand] .landing-nav-cta:hover { background: var(--ltp-deep); }
html[data-brand] .landing-trust-band, html[data-brand] .landing-product-shell, html[data-brand] .landing-final-cta { background: #f8e9b1; border-color: var(--ltp-line); }
html[data-brand] .landing-product-shell { color: var(--ltp-ink); box-shadow: none; }
html[data-brand] .landing-product-copy > p, html[data-brand] .landing-feature-list small, html[data-brand] .landing-final-cta p { color: var(--ltp-muted); }
html[data-brand] .landing-feature-list strong { color: var(--ltp-ink); }
html[data-brand] .landing-product-copy .landing-section-kicker, html[data-brand] .landing-final-cta .landing-section-kicker, html[data-brand] .landing-text-cta { color: var(--ltp-cobalt); }
html[data-brand] .landing-feature-list article > i { color: var(--ltp-cobalt); background: var(--ltp-ivory); border-color: var(--ltp-line); }
html[data-brand] .landing-text-cta span { background: var(--ltp-cobalt); color: var(--ltp-ivory); }
html[data-brand] .landing-final-aura, html[data-brand] .landing-model-card::before, html[data-brand] .landing-visual-grid, html[data-brand] .landing-step-spark { display: none; }
html[data-brand] .landing-step-card.create .landing-step-visual, html[data-brand] .landing-step-card.build .landing-step-visual { background: #f8e9b1; }
html[data-brand] .landing-step-card.refine .landing-step-visual { background: var(--ltp-soft-blue); }
html[data-brand] .landing-primary-cta.inverse { color: var(--ltp-ivory); background: var(--ltp-cobalt); }
html[data-brand] .landing-step-card { border-color: var(--ltp-line); box-shadow: none; background: #fffdf8; }
html[data-brand] body:has(.studio-app) { --accent: var(--ltp-butter); --accent-strong: var(--ltp-butter); --accent-ink: var(--ltp-ink); --text: #eff2f8; }
html[data-brand] .studio-app .brand .ltp-wordmark { width: 160px; }
html[data-brand] .studio-app .topbar { --text: var(--ltp-ink); --muted: var(--ltp-muted); --accent: var(--ltp-cobalt); --accent-ink: var(--ltp-ivory); color: var(--ltp-ink); }
html[data-brand] .studio-app .brand { gap: 8px; }
html[data-brand] .studio-app .brand:hover { background: var(--ltp-soft-blue); }
html[data-brand] .studio-app .topbar .icon-button { color: var(--ltp-cobalt); }
html[data-brand] .studio-app .topbar .icon-button:not(:disabled):hover { background: var(--ltp-soft-blue); border-color: var(--ltp-line); }
html[data-brand] .studio-app .purchase-button { background: var(--ltp-soft-blue); border-color: #b8c5d4; color: var(--ltp-cobalt); box-shadow: none; }
html[data-brand] .studio-app .purchase-button small { color: var(--ltp-muted); }
html[data-brand] .startup-dialog h1 { font-family: var(--ltp-display); font-weight: 400; }
html[data-brand] .startup-dialog .startup-mark { display: block; width: 64px; height: 59px; transform: none; }
@media (max-width: 760px) {
  html[data-brand] .brand .ltp-wordmark { width: 150px; }
  html[data-brand] .pet-experience .site-header, html[data-brand] body.pet-intent .topbar { height: 78px; }
  html[data-brand] body.pet-intent.landing-empty .workspace { padding: 14px 0 40px; }
  html[data-brand] body.pet-intent .intake-path { gap: 8px; margin: 8px 0 24px; }
  html[data-brand] .pet-experience .auth-card { padding: 28px 24px; }
  html[data-brand] .pet-experience .account-benefits { padding: 28px 24px; }
  html[data-brand] .pet-experience .stage-column { padding: 0; }
  html[data-brand] .pet-experience .stage-column h1 { font-size: 2.6rem; }
  html[data-brand] .pet-experience .stage-body { background: #fffdf8; border-color: var(--ltp-line); border-radius: 10px; }
  html[data-brand] .pet-experience .design-layout { gap: 20px; }
  html[data-brand] .pet-experience .photo-receipt { padding: 12px 0 0; }
  html[data-brand] .studio-app .brand .ltp-wordmark { width: 125px; }
}
@media (prefers-reduced-motion: reduce) {
  html[data-brand] *, html[data-brand] *::before, html[data-brand] *::after { scroll-behavior: auto !important; }
}
