.edition {
  --paper: #fbf5ef;
  --surface: #fffcf8;
  --ink: #2d1723;
  --muted: #6b515c;
  --line: #dfced1;
  --orange: #8b3150;
  --rose: #edb9c2;
  --foil: #f6dba6;
  --label: var(--sans);
  --radius: 12px;
  background: var(--paper);
  color: var(--ink);
}

.edition .button { border-radius: 8px; min-height: 46px; font-weight: 700; }
.edition .button-orange { background: var(--orange); color: #fff; }
.edition .button-orange:hover { background: #6f2340; }
.edition :focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.edition .header-cta { background: transparent; border: 1px solid var(--line); color: var(--ink); }
.edition .header-cta:hover { background: #f4e5e8; }
.edition .brand { font-weight: 700; }
.edition .site-header, .edition .product-header, .edition .collection-header {
  border-bottom: 1px solid var(--line);
}
.discovery .site-header { height: 76px; }
.discovery .desktop-nav a { padding-block: 12px; }
.discovery .mobile-menu-button { width: 44px; height: 44px; flex: none; }
.discovery .mobile-nav a { display: flex; align-items: center; min-height: 44px; }

.edition-label {
  font-family: var(--label);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: .09em;
}

.edition-hero { position: relative; isolation: isolate; overflow: clip; background: var(--ink); color: var(--paper); }
.edition-hero-image {
  position: absolute; inset: 0 0 0 auto;
  width: 67%; height: 100%; object-fit: cover; object-position: 50% 49%;
  z-index: -2;
}
.edition-hero::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(90deg, #2d1723 0%, #2d1723 28%, #2d1723ed 39%, #2d172350 66%, #2d172318),
    linear-gradient(0deg, #24151fb3, transparent 28%);
}
.edition-hero-inner {
  position: relative;
  display: flex;
  align-items: center;
  min-height: clamp(490px, calc(100svh - 76px), 690px);
  padding-block: clamp(48px, 8vw, 120px);
}
.edition-cover .edition-label { color: var(--foil); letter-spacing: .18em; }
.edition-cover h1 {
  font-family: var(--serif);
  font-size: clamp(70px, 8.1vw, 116px);
  letter-spacing: -.06em;
  line-height: .91;
  font-weight: 400;
  margin-block: 19px 23px;
}
.edition-cover h1 em { color: #f7cdd2; letter-spacing: -.045em; }
.edition-cover > p:not(.edition-label) { max-width: 34ch; font-size: clamp(15px, 1.35vw, 18px); line-height: 1.6; color: #f7eae7; }
.edition-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 28px; }
.edition-action { color: var(--ink); background: var(--foil); border: 1px solid transparent; }
.edition-action:hover { background: #ffe9c2; }
.edition-action svg { transition: transform .2s ease; }
.edition-action:hover svg { transform: translateX(3px); }
.edition-sample { display: inline-flex; align-items: center; color: inherit; min-height: 44px; padding: 0; font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.edition-hero :focus-visible, .edition .story-top :focus-visible, .edition .story-bottom :focus-visible { outline-color: var(--foil); }
.edition-photo-caption {
  position: absolute; inset: auto 0 30px auto; color: #fff6ed;
  font: italic 400 clamp(23px, 3.2vw, 42px)/1.1 var(--serif); text-align: right;
}
.edition-photo-caption span { display: block; margin-bottom: 6px; font: 700 10px/1.3 var(--label); letter-spacing: .15em; }
@media (prefers-reduced-motion: no-preference) {
  .edition-cover { animation: edition-arrive .55s ease-out both; }
  .edition-hero-image { animation: edition-image-arrive .8s ease-out both; }
  .edition .modal[open], .edition .design-dialog[open] { animation: edition-arrive .18s ease-out both; }
}
@keyframes edition-arrive { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }
@keyframes edition-image-arrive { from { opacity: .8; transform: scale(1.018); } to { opacity: 1; transform: scale(1); } }

.discovery .calendar-section {
  grid-template-columns: minmax(0, .72fr) minmax(0, 1fr);
  align-items: start;
  gap: clamp(30px, 7vw, 120px);
  padding-block: clamp(52px, 8vw, 110px);
}
.discovery .calendar-intro h2, .edition-how h2 {
  font-family: var(--serif);
  font-size: clamp(44px, 6.4vw, 85px);
  font-weight: 400;
  letter-spacing: -.055em;
  line-height: .99;
  margin-top: 18px;
}
.discovery .calendar-intro h2 em, .edition-how h2 em { font-size: 1em; color: var(--orange); letter-spacing: -.045em; }
.discovery .calendar-intro > p { font-size: 16px; line-height: 1.65; margin-block: 20px 10px; }
.discovery .calendar-intro { position: sticky; top: 28px; }
.discovery .calendar-studio-link { display: inline-flex; align-items: center; min-height: 44px; color: var(--orange); font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.discovery .calendar-widget {
  width: 100%;
  max-width: none;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: clamp(12px, 3vw, 28px);
  background: var(--surface);
  box-shadow: 0 12px 36px #2d17230b;
}
.discovery .calendar-heading { padding-bottom: 12px; }
.discovery .calendar-heading h3 { font-size: clamp(21px, 4vw, 30px); font-weight: 700; line-height: 1.1; }
.discovery .calendar-navigation .icon-button { width: 44px; height: 44px; }
.calendar-availability { border-top: 1px solid var(--line); padding-block: 10px 16px; color: var(--muted); font-size: 14px; }
.discovery .weekdays, .discovery .calendar-grid { gap: 4px; }
.discovery .weekdays span { font-family: var(--label); font-size: 11px; }
.discovery .calendar-day, .discovery .calendar-empty { aspect-ratio: auto; min-height: clamp(43px, 5vw, 52px); }
.discovery .calendar-day { background: #f8eff0; color: var(--muted); border-radius: 6px; font-size: 15px; }
.discovery .calendar-day:after { display: none; }
.discovery .calendar-day:hover:not(:disabled) { border-color: var(--ink); transform: none; }
.discovery .calendar-day:disabled { background: transparent; color: #856e77; }
.discovery .calendar-day.is-available { background: #f7e1bc; color: var(--ink); font-weight: 700; }
.discovery .calendar-day.is-booked { background: #eedfe3; text-decoration: line-through; }
.discovery .calendar-day.is-selected { background: var(--ink); color: var(--paper); box-shadow: none; font-weight: 700; }
.discovery .calendar-day[aria-current=date] { text-decoration: underline; text-underline-offset: 3px; }
.discovery .calendar-legend { font-size: 12px; margin-block: 14px; gap: 8px 13px; flex-wrap: wrap; color: var(--muted); }
.discovery .calendar-legend i { width: 10px; height: 10px; border-radius: 3px; }
.discovery .legend-open { background: #f7e1bc; border: 1px solid #aa8860; }
.discovery .legend-reserved { background: #eedfe3; border: 1px solid #a88a97; }
.discovery .legend-selected { background: var(--ink); }
.discovery .selected-date-panel { background: var(--paper); border: 0; border-radius: 8px; padding: 14px; gap: 12px; }
.discovery .selected-date-panel .button { min-height: 46px; font-size: 13px; }
.discovery .selected-label, .discovery .auction-end { font-size: 13px; }
.discovery .price-line > span { font-size: 12px; }

.edition-how { background: #f2e4e8; border-block: 1px solid var(--line); padding-block: clamp(50px, 8vw, 90px); }
.edition-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; margin-block: 32px; }
.edition-steps article { border-top: 1px solid #c9a7b3; padding-block: 13px 10px; }
.edition-steps article > span { font: 700 12px var(--label); }
.edition-steps h3 { font-size: 23px; font-weight: 800; margin-block: 10px 5px; letter-spacing: -.03em; }
.edition-steps p { max-width: 34ch; font-size: 14px; line-height: 1.6; }
.discovery .faq-section h2 { font: 400 clamp(40px, 5vw, 64px)/1.04 var(--serif); letter-spacing: -.045em; }
.discovery .faq-list summary { font-size: 15px; }
.discovery .faq-list details p { font-size: 14px; }
.discovery .site-footer {
  display: grid; grid-template-columns: minmax(0, 1fr) auto;
  justify-content: initial; gap: 10px 20px;
}
.discovery .site-footer > span { font-size: 13px; }
.discovery .site-footer .site-information-links { grid-column: 1 / -1; }

.edition .login-panel, .edition .payment-ticket {
  border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface);
  box-shadow: 0 14px 42px #2d172309;
}
.edition .login-panel h1, .edition .payment-ticket h1 {
  font: 400 clamp(36px, 5vw, 49px)/1.05 var(--serif); letter-spacing: -.04em;
}
.edition .login-panel input { border-radius: 8px; font-size: 16px; }
.login-links { display: flex; flex-wrap: wrap; column-gap: 18px; margin-top: 18px; }
.edition .login-links a { display: inline-flex; align-items: center; min-height: 44px; margin: 0; }
.edition .account-summary {
  background: #f3e6e9; border: 1px solid var(--line); border-radius: var(--radius);
  gap: 14px; flex-wrap: wrap; overflow-wrap: anywhere;
}
.edition .account-summary > div { min-width: 0; }
.edition .account-summary strong { font-size: 16px; }
.edition .account-summary p, .edition .account-notice { font-size: 14px; }
.edition .account-section h2 { font: 400 29px/1.1 var(--serif); letter-spacing: -.03em; }
.edition .empty-account { font-size: 14px; color: var(--muted); }
.edition .saved-design { border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
.edition .saved-design strong { font-size: 16px; overflow-wrap: anywhere; }
.edition .saved-design span { font-size: 13px; color: var(--muted); }
.edition .saved-design:hover { border-color: var(--orange); }
.edition .reservation-item { font-size: 15px; }
.edition .reservation-item small { font-size: 13px; }
.edition .account-design-link { display: block; }
.edition .account-design-extra { display: inline-flex; align-items: center; min-height: 44px; margin-right: 12px; font-size: 13px; text-decoration: underline; text-underline-offset: 3px; }
.edition .account-design-link > span { display: block; margin-bottom: 7px; }
.edition .account-remove {
  min-height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer;
  color: #993628; font: 600 13px/1.3 var(--sans); text-decoration: underline; text-underline-offset: 3px;
}
.edition .account-remove-dialog { width: min(440px, calc(100% - 32px)); margin: auto; }
.edition .account-remove-dialog .modal-subtitle { font-size: 15px; max-width: none; overflow-wrap: anywhere; }
.account-remove-error { color: #993628; font-size: 14px; margin-top: 12px; }
.account-remove-error:empty { margin: 0; }
.account-remove-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; margin-top: 24px; }
.edition .reservation-action, .edition .account-auth-action {
  display: inline-flex; align-items: center; min-height: 44px; font-size: 13px; color: var(--orange);
}
.edition .account-bottom { font-size: 13px; }
.account-insights > summary { cursor: pointer; font-weight: 700; padding-block: 12px; }
.account-table-scroll { overflow-x: auto; }
.edition .interest-table th, .edition .interest-table td { font-size: 13px; }
.edition .product-intro h1 { font: 400 clamp(42px, 6vw, 68px)/1.04 var(--serif); letter-spacing: -.04em; }
.edition .product-intro p { font-size: 15px; }
.edition .journey { border-bottom: 1px solid var(--line); color: var(--muted); }
.edition .journey button { min-height: 44px; font-size: 13px; }
.edition .journey button:disabled { opacity: .78; }
.edition .journey button[aria-current=step], .edition .journey button[aria-current=step] > span { color: var(--orange); }
.edition .collection-intro {
  background: transparent;
  color: var(--ink);
  padding: clamp(24px, 5vw, 60px) 0 clamp(16px, 4vw, 40px);
  margin: 0;
}
.edition .collection-intro h1, .edition .screen-heading h1, .edition .builder-intro h1 {
  font-family: var(--serif); font-weight: 400; letter-spacing: -.045em;
}
.edition .collection-intro h1 em, .edition .screen-heading h1 em, .edition .builder-intro h1 em { color: var(--orange); }
.edition .collection-intro p, .edition .screen-heading p { color: var(--muted); font-size: 15px; }
.edition .collection-eyebrow, .edition .form-number, .edition .section-kicker { color: var(--orange); }
.edition .form-section { border-color: var(--line); }
.edition .review-actions p { color: var(--muted); font-size: 14px; }
.edition .review-actions .outline-button { border-color: var(--line); border-radius: 8px; }
.edition .review-layout #review-preview { grid-column: 1; grid-row: 1; }
.edition .review-layout .review-actions { grid-column: 2; grid-row: 1; }
.edition.collection-page label { font-size: 14px; }
.edition.collection-page input:not([type=file]), .edition.collection-page textarea {
  border-color: var(--line); border-radius: 8px; font-size: 16px;
}
.edition .form-section > p, .edition .upload-limits, .edition .character-count,
.edition .file-library > p, .edition .optional-content > p, .edition .empty-note,
.edition .review-actions small, .edition .ai-data-note {
  color: var(--muted); font-size: 13px;
}
.edition .upload-button { background: #f4e9ec; border-color: #b98f9e; }
.edition .selected-file button, .edition .library-file button { min-height: 44px; font-size: 12px; }
.edition .file-library > summary, .edition .optional-content > summary { min-height: 44px; font-size: 14px; }
.edition .personal-preview-shell, .edition .ai-inputs, .edition .ai-chat-panel,
.edition .design-dialog, .edition .delete-media-dialog { background: var(--surface); border-color: var(--line); }
.edition .ai-empty-preview {
  min-height: 340px; background: #f1e5e8; border-color: var(--line); border-radius: var(--radius);
}
.edition .ai-empty-preview p { color: var(--muted); font-size: 14px; }
.edition .ai-empty-preview em { color: var(--orange); }
.edition .ai-input-content .field > small, .edition .ai-status { color: var(--muted); font-size: 13px; }
.edition .wizard-nav { background: #f1e5e8; border-color: var(--line); }
.edition .wizard-nav button { color: var(--muted); min-height: 44px; }
.edition .wizard-nav button[aria-current=step] { color: var(--orange); background: var(--surface); font-weight: 700; }
.edition.builder-page .studio-controls select { width: 100%; }
.edition.builder-page .settings-grid > .field { min-width: 0; }
.edition .auth-needed { padding: 18px; color: var(--ink); background: #f3e6e9; border-color: var(--line); }
.edition .auth-needed .button { margin-top: 12px; color: var(--paper); text-decoration: none; }
.edition .account-section .empty-account a { color: var(--orange); text-decoration: underline; text-underline-offset: 3px; }
.edition footer.account-bottom { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 20px; }

@media (max-width: 760px) {
  .discovery .site-header { height: 64px; }
  .edition-hero-image { width: 100%; object-position: center 34%; }
  .edition-hero::before {
    background: linear-gradient(0deg, #24131f 0%, #24131ff5 22%, #24131fbf 45%, #24131f00 83%);
  }
  .edition-hero-inner {
    align-items: end;
    min-height: max(510px, min(calc(100svh - 64px), 680px));
    padding-block: 210px 30px;
  }
  .edition-cover h1 { font-size: clamp(55px, 12vw, 78px); margin-block: 12px 14px; }
  .edition-actions { margin-top: 18px; gap: 5px 16px; }
  .edition-photo-caption { display: none; }
  .discovery .calendar-section { grid-template-columns: 1fr; }
  .discovery .calendar-intro { position: static; }
  .discovery .calendar-intro h2 br { display: initial; }
  .discovery .calendar-intro h2 em { margin-left: 0; }
  .edition-steps { grid-template-columns: 1fr; gap: 14px; }
  .edition .journey button { font-size: 11px; }
  .edition .account-summary .button { width: 100%; }
  .edition .product-header nav, .edition .collection-header nav { gap: 13px; font-size: 12px; }
  .edition .product-header nav a, .edition .collection-header nav a { padding-block: 12px; }
}
@media (max-width: 700px) {
  .edition .review-layout .review-actions, .edition .review-layout #review-preview { grid-column: 1; grid-row: auto; }
  .edition .review-layout .review-actions { padding-block: 0; }
  .edition .review-layout #review-preview .preview-frame-wrap { height: clamp(390px, 62svh, 540px); }
}
@media (max-width: 440px) {
  .discovery .selected-date-panel { align-items: stretch; flex-direction: column; }
  .discovery .calendar-grid { gap: 3px; }
  .discovery .site-footer { grid-template-columns: minmax(0, 1fr); align-items: flex-start; row-gap: 4px; }
  .edition .screen-heading { align-items: flex-start; flex-wrap: wrap; gap: 8px; padding-bottom: 24px; }
  .edition .form-actions { flex-wrap: wrap; gap: 6px 12px; }
  .edition .form-actions .button { flex: 1 0 100%; }
}
