/* Brand mapping and page composition; shared component geometry lives in src/ui. */
.u1-site {
  --u1-paper:var(--paper); --u1-ink:var(--ink); --u1-muted:var(--graphite); --u1-surface:var(--wash);
  --u1-line:var(--smudge); --u1-brand:var(--flash-red); --u1-brand-hover:#890d14; --u1-on-brand:var(--paper);
  --u1-font:var(--font-body); --u1-title:var(--display-lg); --u1-photo-mobile:180px; --u1-photo-desktop:620px;
}
.u1-site .site-header { min-height:76px; border:0; gap:var(--space-4); }
.u1-site .brand { white-space:nowrap; }
.u1-site .account-entry { margin-left:auto; flex-shrink:0; white-space:nowrap; }
.u1-site .account-entry[aria-busy="true"] { position:relative; color:transparent; }
.u1-site .account-entry[aria-busy="true"]::after { content:""; position:absolute; inset:var(--space-4) var(--space-3); background:var(--smudge); }
.auth-skeleton { display:block; width:var(--space-9); height:var(--space-4); margin-bottom:var(--space-2); background:var(--smudge); }
.u1-site .header-cta { display:none; }
.u1-site .designs-link { display:none; margin-left:0; }
.u1-site .mobile-menu summary { border-radius:var(--u1-radius); }
.u1-site .u1-tattoo-hero { display:grid; grid-template-columns:1fr; grid-template-areas:'copy' 'photo' 'start'; gap:var(--space-5); margin:0; padding:var(--space-5) 0 0; color:var(--ink); background:var(--paper); }
.u1-site .u1-tattoo-hero .hero-copy { grid-area:copy; }
.u1-site .u1-tattoo-hero .hero-copy h1 { font-size:2.25rem; line-height:1.1; max-width:18ch; margin:0; }
.u1-site .u1-tattoo-hero .hero-copy p { color:var(--graphite); font-size:var(--body); line-height:1.5; margin:var(--space-4) 0 0; max-width:48ch; }
.u1-site .u1-tattoo-hero .hero-photo { grid-area:photo; height:var(--u1-photo-mobile); min-height:0; border-radius:var(--u1-card-radius); overflow:hidden; position:relative; }
.u1-site .u1-tattoo-hero .hero-photo picture,.u1-site .u1-tattoo-hero .hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 49%; }
.u1-site .photo-credit { position:absolute; left:var(--space-3); right:auto; bottom:var(--space-3); padding:var(--space-1) var(--space-2); background:var(--ink); color:var(--paper); border-radius:var(--u1-radius); font-size:var(--caption); }
.u1-site .hero-start { grid-area:start; }
.u1-site .hero-entries { display:flex; width:100%; margin-bottom:var(--space-4); }
.u1-site .form-finish { max-width:none; margin:0; }
.u1-site .credit-balance { color:var(--graphite); }
.u1-site .credit-purchase { margin-top:var(--space-2); }
.u1-site.preview-ux .preview-offer { margin-top:var(--space-4); }
.u1-site.preview-ux .hero-copy .preview-offer p { margin:0 0 var(--space-2); font-size:var(--caption); line-height:var(--leading-caption); }
.u1-site.preview-ux .preview-offer .generation-signin p { margin:var(--space-2) 0; }
.u1-site.preview-ux .preview-offer>a:not([hidden]) { display:flex; align-items:center; width:max-content; max-width:100%; min-height:var(--target); }
.u1-site.preview-ux .preview-offer #preview-offer-packs { text-decoration:underline; text-underline-offset:var(--space-1); }
@media(max-width:767px) {
  .u1-site.preview-ux #consent { left:0; right:0; bottom:0; max-width:none; padding:var(--space-2) var(--space-4); border-radius:0; }
  .u1-site.preview-ux #consent p { margin:0; font-size:var(--caption); line-height:var(--leading-caption); }
  .u1-site.preview-ux #consent .consent-actions { margin-top:var(--space-2); }
  .u1-site.preview-ux #consent button { min-height:var(--target); padding:var(--space-1) var(--space-4); font-size:var(--caption); }
}
.u1-site .buy[aria-busy="true"]:disabled { opacity:1; cursor:progress; }
.u1-site .account-history { display:grid; gap:var(--space-2); margin-block:var(--space-5); }
.u1-site .account-history-item { display:grid; grid-template-columns:var(--thumb) 1fr; gap:var(--space-4); padding-block:var(--space-4); border-bottom:var(--rule) solid var(--smudge); }
.u1-site .account-history-preview { width:var(--thumb); height:var(--thumb); background:var(--wash); overflow:hidden; }
.u1-site .account-history-preview img { width:100%; height:100%; object-fit:cover; }
.u1-site .account-history-item h3 { margin:0; font-size:var(--body); font-weight:var(--semibold); }
.u1-site .account-history-item p { margin:var(--space-1) 0; }
.u1-site .form-finish .check { padding:0; color:var(--ink); }
.u1-site .form-finish #message:empty,.u1-site #verification-message:empty { display:none; }
.u1-site .generate-action { position:static; background:transparent; padding:0; margin:0; border:0; }
.u1-site .generate-action .primary { width:100%; min-height:var(--u1-control); margin:0; }
.u1-site .u1-prompt-card label[for=description] { color:var(--graphite); font-size:var(--caption); }
.u1-site .u1-hero-details { display:flex; align-items:center; justify-content:space-between; gap:var(--space-2); }
.u1-site .u1-hero-details a { color:var(--graphite); font-size:var(--caption); padding-inline:0; }
.u1-site .u1-tattoo-gallery img { object-fit:contain; }
.u1-site .u1-count { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-4); }
.u1-site .u1-count .field-label { margin:0; }
.u1-site .generator-options { margin-top:var(--space-7); }
.u1-site .pricing { border:0; gap:var(--space-4); }
.u1-site .plan,.u1-site .plan+.plan { background:var(--wash); border:0; border-radius:var(--u1-card-radius); }
.u1-site .plan .buy { width:100%; }
.u1-site .page-heading { max-width:none; margin-inline:0; }
.u1-site .u1-faq-item { border:0; }
@media(max-width:420px) {
  .u1-site .site-header { gap:var(--space-2); }
  .u1-site .account-entry { font-size:var(--caption); padding-inline:var(--space-2); }
  .u1-site .site-header .brand { font-size:1.125rem; gap:var(--space-2); }
  .u1-site .brand img { width:20px; height:20px; }
  .u1-site .header-cta { font-size:.8125rem; padding-inline:var(--space-3); }
  .u1-site .mobile-menu summary { font-size:.8125rem; min-width:44px; padding:var(--space-2); }
}
@media(min-width:1024px) {
  .u1-site .header-cta { display:inline-flex; }
  .u1-site .designs-link { display:inline-flex; }
  .u1-site .u1-tattoo-hero { grid-template-columns:1fr 1.1fr; grid-template-areas:'copy photo' 'start photo'; gap:var(--space-5) var(--space-7); padding-block:var(--space-6); }
  .u1-site .u1-tattoo-hero .hero-copy { align-self:end; }
  .u1-site .u1-tattoo-hero .hero-copy h1 { font-size:3.25rem; max-width:16ch; }
  .u1-site .u1-tattoo-hero .hero-copy p { font-size:var(--body-lg); }
  .u1-site .u1-tattoo-hero .hero-photo { height:100%; min-height:var(--u1-photo-desktop); }
  .u1-site .u1-tattoo-hero .hero-photo img { object-position:60% center; }
  .u1-site .desktop-nav { gap:var(--space-5); }
}

.u1-site .mobile-menu nav { box-shadow:none; }
.u1-site #design-details,.u1-site .idea-grid img,.u1-site .sample-showcase img { border:0; }

.u1-site main img,.u1-site footer { border:0; }
.u1-site .band { margin-block:var(--u1-section); }
