    :root {      --font-heading: 'DM Serif Display', serif;      --font-body: 'Plus Jakarta Sans', sans-serif;      --ink: #1a1117;      --cream: #faf7f4;      --white: #fffdfb;      --blush: #fff0ed;      --rose: #dc2626;      --rose-dk: #b91c1c;      --rose-glow: rgba(220, 38, 38, 0.08);      --navy: #1e2a4a;      --navy-dk: #151d35;      --g100: #f5f3f0;      --g200: #e8e4df;      --g300: #d4cfc8;      --g400: #a8a099;      --g500: #857d76;      --g600: #6b6460;      --g700: #4a4541;      --g800: #2d2926;      --r-sm: 6px;      --r-md: 10px;      --r-lg: 14px;      --r-xl: 20px;      --r-full: 999px;      --sh-sm: 0 1px 3px rgba(26, 17, 23, .06);      --sh-md: 0 4px 12px rgba(26, 17, 23, .08);      --sh-lg: 0 8px 24px rgba(26, 17, 23, .1);      --sh-xl: 0 16px 48px rgba(26, 17, 23, .1);    }    *,    *::before,    *::after {      margin: 0;      padding: 0;      box-sizing: border-box    }    html {      -webkit-font-smoothing: antialiased    }    body {      font-family: var(--font-body);      background: var(--cream);      color: var(--ink);      min-height: 100vh;      line-height: 1.55;    }    /* ── Page ── */    .page {      max-width: 1000px;      margin: 0 auto;      padding: 2.5rem 1.25rem 5rem;    }    .page-head {      text-align: center;      margin-bottom: 2rem;    }    .badge {      display: inline-flex;      align-items: center;      gap: .4rem;      padding: .45rem 1rem;      border-radius: var(--r-full);      background: var(--rose);      color: #fff;      font-weight: 700;      font-size: .78rem;      letter-spacing: .04em;      text-transform: uppercase;      margin-bottom: .75rem;      box-shadow: var(--sh-md), 0 0 30px rgba(220, 38, 38, .15);    }    .badge svg {      width: 15px;      height: 15px    }    .page-title {      font-family: var(--font-heading);      font-size: clamp(1.8rem, 4vw, 2.6rem);      color: var(--navy);      line-height: 1.15;      margin-bottom: .35rem;    }    .page-sub {      color: var(--g500);      font-size: .98rem;      max-width: 480px;      margin: 0 auto;    }    /* ── Tab Toggle Bar ── */    .tab-bar {      display: flex;      justify-content: center;      margin-bottom: 1.75rem;    }    .tab-wrap {      display: inline-flex;      background: var(--g200);      border-radius: var(--r-full);      padding: 4px;      gap: 2px;    }    .tab-btn {      font-family: var(--font-body);      font-size: .9rem;      font-weight: 700;      padding: .6rem 1.5rem;      border: none;      border-radius: var(--r-full);      cursor: pointer;      background: transparent;      color: var(--g500);      transition: all .22s;    }    .tab-btn.active {      background: var(--navy);      color: #fff;      box-shadow: var(--sh-md);    }    .tab-btn:not(.active):hover {      color: var(--navy);    }    /* ── Panels ── */    .panel-wrap {      background: var(--white);      border-radius: var(--r-xl);      border: 1px solid var(--g200);      box-shadow: var(--sh-xl);      overflow: hidden;    }    .tab-panel {      display: none    }    .tab-panel.on {      display: block    }    /* ════════════════════════════════       QUICK PICK PANEL    ════════════════════════════════ */    .qp-head {      padding: 1.5rem 1.75rem 1rem;      border-bottom: 1px solid var(--g200);    }    .qp-head h3 {      font-family: var(--font-heading);      font-size: 1.4rem;      color: var(--navy);      font-weight: 400;      margin-bottom: .2rem;    }    .qp-head p {      color: var(--g500);      font-size: .85rem;    }    .style-grid {      display: grid;      grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));      gap: .85rem;      padding: 1.5rem 1.75rem;    }    .style-card {      border: 2px solid var(--g200);      border-radius: var(--r-lg);      padding: 1.15rem;      cursor: pointer;      transition: all .2s;      background: var(--white);      position: relative;      overflow: hidden;    }    .style-card:hover {      border-color: var(--rose);      transform: translateY(-2px);      box-shadow: var(--sh-md);    }    .style-card.selected {      border-color: var(--rose);      background: var(--blush);      box-shadow: 0 0 0 3px var(--rose-glow), var(--sh-sm);    }    .style-card.selected .sc-check {      opacity: 1;      transform: scale(1)    }    .sc-img {      width: 100%;      aspect-ratio: 1 / 1;      object-fit: contain;      border-radius: var(--r-sm);      margin-bottom: .5rem;      display: block;    }    .sc-name {      font-weight: 700;      font-size: .9rem;      color: var(--navy);      margin-bottom: .2rem;    }    .sc-desc {      font-size: .77rem;      color: var(--g500);      line-height: 1.35;    }    .sc-colors {      display: flex;      gap: 4px;      margin-top: .65rem;    }    .sc-dot {      width: 14px;      height: 14px;      border-radius: 50%;      border: 1.5px solid rgba(0, 0, 0, .12);    }    .sc-check {      position: absolute;      top: .6rem;      right: .6rem;      width: 20px;      height: 20px;      border-radius: 50%;      background: var(--rose);      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      transform: scale(.4);      transition: all .2s;    }    .sc-check svg {      width: 11px;      height: 11px;      color: #fff    }    /* ════════════════════════════════       ADVANCED / WIZARD PANEL    ════════════════════════════════ */    /* Top bar */    .wiz-top {      background: linear-gradient(135deg, var(--navy), var(--navy-dk));      padding: 1.2rem 1.75rem 1.1rem;      color: #fff;    }    .wiz-top h3 {      font-family: var(--font-heading);      font-size: 1.35rem;      font-weight: 400;      margin-bottom: .12rem;    }    .wiz-top p {      opacity: .72;      font-size: .82rem;      margin: 0;    }    .dots {      display: flex;      align-items: center;      margin-top: 1rem;    }    .dot {      width: 28px;      height: 28px;      border-radius: 50%;      background: rgba(255, 255, 255, .1);      border: 2px solid rgba(255, 255, 255, .17);      display: flex;      align-items: center;      justify-content: center;      font-size: .72rem;      font-weight: 700;      color: rgba(255, 255, 255, .38);      transition: all .3s;      flex-shrink: 0;    }    .dot.on {      background: var(--rose);      border-color: var(--rose);      color: #fff;      box-shadow: 0 0 12px rgba(220, 38, 38, .5);      transform: scale(1.1);    }    .dot.done {      background: rgba(255, 255, 255, .2);      border-color: rgba(255, 255, 255, .38);      color: #fff;    }    .dot-line {      flex: 1;      height: 2px;      background: rgba(255, 255, 255, .1);      transition: background .3s;    }    .dot-line.done {      background: rgba(255, 255, 255, .3)    }    .dot-labels {      display: grid;      grid-template-columns: repeat(4, 1fr);      margin-top: .45rem;    }    .dot-lbl {      font-size: .65rem;      text-align: center;      opacity: .38;      transition: opacity .3s;      line-height: 1.2;    }    .dot-lbl.on {      opacity: 1;      font-weight: 700    }    /* Wizard body */    .wiz-body {      padding: 1.75rem    }    .step {      display: none;      animation: fadeUp .28s ease    }    .step.on {      display: block    }    @keyframes fadeUp {      from {        opacity: 0;        transform: translateY(8px)      }      to {        opacity: 1;        transform: translateY(0)      }    }    /* Question cards */    .qcard {      background: var(--white);      border: 1.5px solid var(--g200);      border-radius: var(--r-lg);      padding: 1.15rem 1.25rem;      margin-bottom: 1rem;      box-shadow: var(--sh-sm);    }    .qcard:last-child {      margin-bottom: 0    }    .qcard-label {      font-weight: 700;      font-size: .9rem;      color: var(--navy);      margin-bottom: .65rem;      display: block;      line-height: 1.35;    }    /* Form inputs */    .fi {      margin-bottom: .85rem    }    .fi:last-child {      margin-bottom: 0    }    .fi label {      display: block;      font-weight: 700;      font-size: .82rem;      color: var(--g700);      margin-bottom: .25rem;    }    .fi input[type="text"],    .fi select,    .fi textarea {      width: 100%;      border: 1.5px solid var(--g200);      border-radius: var(--r-md);      padding: .65rem .8rem;      font: inherit;      font-size: .88rem;      color: var(--ink);      background: var(--white);      transition: border-color .2s, box-shadow .2s;    }    .fi select {      appearance: none;      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23857d76' fill='none' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");      background-repeat: no-repeat;      background-position: right .8rem center;      padding-right: 2.2rem;    }    .fi input:focus,    .fi select:focus,    .fi textarea:focus {      outline: none;      border-color: var(--navy);      box-shadow: 0 0 0 3px rgba(30, 42, 74, .1);    }    .fi textarea {      min-height: 80px;      resize: vertical    }    .fi-help {      font-size: .76rem;      color: var(--g400);      margin-top: .2rem;    }    .custom-quote-wrap {      display: none;      margin-top: .6rem    }    .custom-quote-wrap.show {      display: block    }    /* Choice cards (radio) */    .picks {      display: grid;      grid-template-columns: repeat(2, 1fr);      gap: .6rem;    }    @media(max-width:520px) {      .picks {        grid-template-columns: 1fr      }    }    .pick {      position: relative    }    .pick input {      position: absolute;      opacity: 0;      pointer-events: none;    }    .pick label {      display: block;      padding: .7rem .85rem;      border: 1.5px solid var(--g200);      border-radius: var(--r-md);      background: var(--white);      cursor: pointer;      transition: all .18s;    }    .pick label:hover {      border-color: var(--rose);      transform: translateY(-1px);      box-shadow: var(--sh-sm);    }    .pick input:checked+label {      border-color: var(--rose);      background: var(--blush);      box-shadow: 0 0 0 3px var(--rose-glow), var(--sh-sm);    }    .pick input:checked+label .ck {      opacity: 1;      transform: scale(1)    }    .pick strong {      font-size: .86rem;      font-weight: 700;      color: var(--ink);      display: flex;      align-items: center;      justify-content: space-between;      gap: .3rem;    }    .ck {      width: 17px;      height: 17px;      border-radius: 50%;      background: var(--rose);      display: flex;      align-items: center;      justify-content: center;      opacity: 0;      transform: scale(.4);      transition: all .18s;      flex-shrink: 0;    }    .ck svg {      width: 10px;      height: 10px;      color: #fff    }    .pick span {      display: block;      color: var(--g500);      font-size: .78rem;      line-height: 1.35;      margin-top: .2rem;    }    /* Pills */    .pills {      display: flex;      flex-wrap: wrap;      gap: .45rem    }    .pill {      position: relative    }    .pill input {      position: absolute;      opacity: 0;      pointer-events: none;    }    .pill label {      display: inline-flex;      align-items: center;      padding: .45rem .8rem;      border-radius: var(--r-full);      border: 1.5px solid var(--g200);      background: var(--white);      color: var(--g600);      font-weight: 600;      font-size: .8rem;      cursor: pointer;      transition: all .18s;      user-select: none;    }    .pill label:hover {      border-color: var(--rose);      color: var(--rose)    }    .pill input:checked+label {      background: var(--rose);      border-color: var(--rose);      color: #fff;      box-shadow: var(--sh-sm);    }    .pill-count {      font-size: .78rem;      color: var(--g500);      margin-top: .45rem;    }    .pill-count strong {      color: var(--rose)    }    /* Advanced toggle */    .adv-toggle {      display: flex;      align-items: center;      gap: .5rem;      margin-top: .25rem;      padding: .7rem 0;      cursor: pointer;      border: none;      background: none;      font: inherit;      font-size: .86rem;      font-weight: 700;      color: var(--navy);      transition: color .2s;    }    .adv-toggle:hover {      color: var(--rose)    }    .adv-toggle svg {      width: 16px;      height: 16px;      transition: transform .25s    }    .adv-toggle.open svg {      transform: rotate(180deg)    }    .adv-panel {      display: none;      animation: fadeUp .25s ease    }    .adv-panel.show {      display: block    }    /* Generate screen */    .gen-ready {      text-align: center;      padding: 3rem 1.5rem;    }    .gen-ready-icon {      width: 64px;      height: 64px;      border-radius: 50%;      background: linear-gradient(135deg, var(--rose), var(--rose-dk));      display: flex;      align-items: center;      justify-content: center;      margin: 0 auto 1rem;      box-shadow: 0 0 30px rgba(220, 38, 38, .15);      animation: pop .4s ease;    }    .gen-ready-icon svg {      width: 28px;      height: 28px;      color: #fff    }    @keyframes pop {      0% {        transform: scale(0)      }      60% {        transform: scale(1.15)      }      100% {        transform: scale(1)      }    }    .gen-ready h4 {      font-family: var(--font-heading);      font-size: 1.6rem;      color: var(--navy);      margin-bottom: .4rem;      font-weight: 400;    }    .gen-ready p {      color: var(--g500);      font-size: .92rem;      max-width: 380px;      margin: 0 auto .9rem;    }    .btn-gen {      background: linear-gradient(135deg, var(--rose), var(--rose-dk));      color: #fff;      font-family: var(--font-body);      font-size: 1rem;      font-weight: 700;      padding: .85rem 1.75rem;      border-radius: var(--r-lg);      border: none;      cursor: pointer;      transition: all .2s;      display: inline-flex;      align-items: center;      gap: .5rem;      box-shadow: var(--sh-md), 0 0 20px rgba(220, 38, 38, .15);    }    .btn-gen:hover {      transform: translateY(-2px);      box-shadow: var(--sh-lg), 0 0 30px rgba(220, 38, 38, .2);    }    .btn-gen svg {      width: 18px;      height: 18px    }    /* Wizard footer */    .wiz-foot {      display: flex;      align-items: center;      justify-content: space-between;      padding: 1rem 1.75rem;      border-top: 1px solid var(--g200);      background: var(--g100);      flex-wrap: wrap;      gap: .5rem;    }    .btn {      font-family: var(--font-body);      font-weight: 700;      font-size: .88rem;      border: none;      border-radius: var(--r-md);      padding: .65rem 1.25rem;      cursor: pointer;      transition: all .18s;      display: inline-flex;      align-items: center;      gap: .35rem;    }    .btn svg {      width: 14px;      height: 14px    }    .btn-go {      background: var(--rose);      color: #fff;      box-shadow: var(--sh-sm)    }    .btn-go:hover {      background: var(--rose-dk);      transform: translateY(-1px);      box-shadow: var(--sh-md)    }    .btn-out {      background: var(--white);      color: var(--g700);      border: 1.5px solid var(--g300);    }    .btn-out:hover {      border-color: var(--g400)    }    .btn-ghost {      background: transparent;      color: var(--g500);      padding: .65rem .7rem    }    .btn-ghost:hover {      color: var(--ink)    }    .btn:disabled {      opacity: .3;      cursor: not-allowed;      transform: none !important    }    /* ── Quick Pick confirm panel ── */    .qp-confirm {      display: none;      flex-direction: column;      align-items: center;      padding: 2.5rem 1.75rem 3rem;      animation: fadeUp .28s ease;    }    .qp-confirm.on {      display: flex    }    .qpc-swatch {      width: 100%;      max-width: 340px;      height: 120px;      border-radius: var(--r-lg);      margin-bottom: 1.5rem;      box-shadow: var(--sh-md);    }    .qpc-body {      text-align: center;      max-width: 360px;    }    .qpc-emoji {      margin-bottom: .4rem;      flex-shrink: 0;    }    .qpc-name {      font-family: var(--font-heading);      font-size: 1.6rem;      color: var(--navy);      font-weight: 400;      margin-bottom: .3rem;    }    .qpc-desc {      font-size: .9rem;      color: var(--g500);      margin-bottom: .85rem;    }    .qpc-colors {      display: flex;      justify-content: center;      gap: 6px;      margin-bottom: 1.5rem;    }    .qpc-colors .sc-dot {      width: 20px;      height: 20px;      border-radius: 50%;      border: 2px solid rgba(0, 0, 0, .12);    }    .qpc-btn {      font-size: .95rem    }    .qpc-back {      display: block;      margin-top: .85rem;      background: none;      border: none;      color: var(--g400);      font: inherit;      font-size: .84rem;      cursor: pointer;      transition: color .18s;    }    .qpc-back:hover {      color: var(--navy)    }    /* ── Confirm panel redesign ── */    .qp-confirm {      display: none;      padding: 1.75rem;      animation: fadeUp .28s ease;    }    .qp-confirm.on {      display: block    }    .qpc-top {      display: flex;      align-items: center;      gap: 1rem;      margin-bottom: 1.5rem;      padding-bottom: 1.25rem;      border-bottom: 1px solid var(--g200);    }    .qpc-emoji {      flex-shrink: 0;      line-height: 0;    }    .qpc-name {      font-family: var(--font-heading);      font-size: 1.45rem;      color: var(--navy);      font-weight: 400;      margin-bottom: .15rem;    }    .qpc-desc {      font-size: .88rem;      color: var(--g500);      margin-bottom: .45rem;    }    .qpc-colors {      display: flex;      gap: 5px;    }    .qpc-colors .sc-dot {      width: 16px;      height: 16px;      border-radius: 50%;      border: 1.5px solid rgba(0, 0, 0, .12);    }    .qpc-preview-label {      font-family: var(--font-heading);      font-size: 1.25rem;      color: var(--navy);      margin-bottom: .35rem;      font-weight: 400;    }    .qpc-preview-sub {      font-size: .88rem;      color: var(--g500);      margin-bottom: 1rem;      line-height: 1.45;    }    /* Thumbnail row */    .qpc-thumbs {      display: grid;      grid-template-columns: repeat(4, 1fr);      gap: .75rem;      margin-bottom: 1.75rem;    }    @media(max-width:600px) {      .qpc-thumbs {        grid-template-columns: repeat(2, 1fr)      }    }    .qpc-thumb {      border-radius: var(--r-lg);      overflow: hidden;      box-shadow: var(--sh-md);      aspect-ratio: 1 / 1;      position: relative;      display: flex;      flex-direction: column;      cursor: pointer;      transition: all .2s;      border: 3px solid transparent;    }    .qpc-thumb:hover {      transform: translateY(-2px);      box-shadow: var(--sh-lg);      border-color: var(--g300)    }    .qpc-thumb.selected {      border-color: var(--rose);      box-shadow: 0 0 0 3px var(--rose-glow), var(--sh-lg);      transform: translateY(-2px)    }    .qpc-thumb.selected::after {      content: '✓';      position: absolute;      top: .5rem;      right: .5rem;      width: 24px;      height: 24px;      border-radius: 50%;      background: var(--rose);      color: #fff;      font-size: .75rem;      font-weight: 700;      display: flex;      align-items: center;      justify-content: center;      z-index: 2    }    .qpc-thumb-hint {      text-align: center;      font-size: .78rem;      color: var(--g400);      margin-bottom: 1rem;      font-style: italic    }    .qpt-top {      flex: 1;      display: flex;      align-items: center;      justify-content: center;      position: relative;      overflow: hidden;    }    .qpt-emoji {      font-size: 2rem;      position: relative;      z-index: 1    }    .qpt-ring {      position: absolute;      border-radius: 50%;      border: 3px solid rgba(255, 255, 255, .25);    }    .qpt-bar {      position: absolute;      left: 0;      right: 0;      height: 3px;      background: rgba(255, 255, 255, .3);    }    .qpt-diag {      position: absolute;      width: 200%;      height: 28px;      background: rgba(255, 255, 255, .15);      transform: rotate(-20deg);      top: 30%;      left: -50%;    }    .qpt-bottom {      padding: .5rem .6rem;      display: flex;      flex-direction: column;      gap: 4px;    }    .qpt-line {      height: 6px;      border-radius: 99px;      background: rgba(255, 255, 255, .55);    }    .qpt-line.thin {      height: 4px;      width: 65%;      background: rgba(255, 255, 255, .35)    }    /* ── Single color toggle row ── */    .qpc-option-row {      display: flex;      align-items: center;      gap: .85rem;      padding: 1rem 1.25rem;      margin-bottom: 1.25rem;      background: var(--g100);      border-radius: var(--r-lg);      border: 1.5px solid var(--g200)    }    .toggle-switch {      position: relative;      flex-shrink: 0;      cursor: pointer    }    .toggle-switch input {      position: absolute;      opacity: 0;      width: 0;      height: 0    }    .toggle-track {      display: block;      width: 44px;      height: 24px;      border-radius: 12px;      background: var(--g300);      transition: background .25s;      position: relative    }    .toggle-track::after {      content: '';      position: absolute;      top: 3px;      left: 3px;      width: 18px;      height: 18px;      border-radius: 50%;      background: #fff;      box-shadow: var(--sh-sm);      transition: transform .25s    }    .toggle-switch input:checked+.toggle-track {      background: var(--rose)    }    .toggle-switch input:checked+.toggle-track::after {      transform: translateX(20px)    }    .toggle-text {      display: flex;      flex-direction: column;      gap: .1rem    }    .toggle-label {      font-weight: 700;      font-size: .88rem;      color: var(--navy)    }    .toggle-hint {      font-size: .76rem;      color: var(--g500)    }    /* ── Customize button ── */    .qpc-customize {      display: flex;      align-items: center;      gap: .4rem;      margin-top: .65rem;      font-size: .88rem !important    }    .qpc-actions {      text-align: center    }    .qpc-btn {      font-size: .95rem    }    .qpc-back {      display: inline-block;      margin-top: .85rem;      background: none;      border: none;      color: var(--g400);      font: inherit;      font-size: .84rem;      cursor: pointer;      transition: color .18s;    }    .qpc-back:hover {      color: var(--navy)    }    /* ── Simplified wizard ── */    .qp-wizard {      display: none;      animation: fadeUp .28s ease    }    .qp-wizard.on {      display: block    }    .qpw-style-badge {      display: inline-flex;      align-items: center;      gap: .3rem;      background: rgba(255, 255, 255, .15);      border: 1px solid rgba(255, 255, 255, .25);      border-radius: var(--r-full);      padding: .25rem .7rem;      font-size: .75rem;      font-weight: 700;      color: rgba(255, 255, 255, .9);      margin-bottom: .6rem;    }    .qpw-step {      display: none;      animation: fadeUp .28s ease    }    .qpw-step.on {      display: block    }    /* Shirt color row */    .shirt-color-row {      display: flex;      gap: .75rem;      flex-wrap: wrap;    }    .shirt-btn {      display: flex;      flex-direction: column;      align-items: center;      gap: .4rem;      padding: .85rem 1.25rem;      border: 2px solid var(--g200);      border-radius: var(--r-lg);      background: var(--white);      cursor: pointer;      font: inherit;      font-size: .82rem;      font-weight: 600;      color: var(--g700);      transition: all .18s;      flex: 1;      min-width: 80px;    }    .shirt-btn:hover {      border-color: var(--rose);      transform: translateY(-1px);      box-shadow: var(--sh-sm);    }    .shirt-btn.selected {      border-color: var(--rose);      background: var(--blush);      box-shadow: 0 0 0 3px var(--rose-glow);    }    .shirt-circle {      width: 40px;      height: 40px;      border-radius: 50%;      display: block;      box-shadow: var(--sh-sm);    }/* ============================================================ */    /* ── Site Header (from main site) ── */    .site-header {      background-color: #fff;      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);      position: sticky;      top: 0;      z-index: 1000;    }    .site-header .container {      max-width: 1200px;      margin: 0 auto;      padding: 0 1.5rem;    }    .main-nav {      display: flex;      justify-content: space-between;      align-items: center;      padding: 1rem 0;      position: relative;      flex-wrap: nowrap;      overflow: visible;    }    .main-nav .logo {      flex-shrink: 0;    }    .main-nav .logo a {      display: flex;      flex-direction: column;      align-items: flex-start;      flex-shrink: 0;      text-decoration: none;    }    .main-nav .logo>img {      height: 70px !important;      width: auto !important;      max-width: none !important;      display: block;    }    .logo-tagline {      font-size: 0.875rem;      color: #DC2626;      font-weight: 600;      letter-spacing: 0.5px;      font-family: 'Inter', sans-serif;    }    .nav-menu {      display: flex;      align-items: center;      list-style: none;      gap: 1.5rem;      margin: 0;      padding: 0;    }    .nav-link {      color: #374151;      font-weight: 500;      padding: 0.5rem 0.75rem;      border-radius: 4px;      transition: all 150ms ease;      display: flex;      align-items: center;      gap: 0.25rem;      text-decoration: none;      font-family: 'Inter', sans-serif;      font-size: 0.95rem;    }    .nav-link:hover {      color: #DC2626;      background-color: #F9FAFB;    }    .nav-link.cta-link {      background-color: #DC2626;      color: #fff;      padding: 0.5rem 1.25rem;    }    .nav-link.cta-link:hover {      background-color: #B91C1C;    }    .cart-link {      position: relative;    }    .cart-count {      position: absolute;      top: -8px;      right: -8px;      background-color: #DC2626;      color: #fff;      font-size: 0.75rem;      font-weight: 700;      padding: 0.125rem 0.375rem;      border-radius: 10px;      min-width: 20px;      text-align: center;    }    .nav-icon {      width: 20px;      height: 20px;    }    .dropdown {      position: relative;    }    .dropdown-arrow {      font-size: 0.75rem;      margin-left: 0.25rem;    }    .dropdown-menu {      position: absolute;      top: 100%;      left: 0;      background-color: #fff;      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);      border-radius: 8px;      padding: 0.5rem 0;      min-width: 200px;      opacity: 0;      visibility: hidden;      transform: translateY(-10px);      transition: all 250ms ease;      list-style: none;      z-index: 1001;    }    .dropdown:hover .dropdown-menu {      opacity: 1;      visibility: visible;      transform: translateY(0);    }    .dropdown-menu li a {      display: block;      padding: 0.75rem 1.25rem;      color: #374151;      transition: all 150ms ease;      text-decoration: none;      font-family: 'Inter', sans-serif;      font-size: 0.9rem;    }    .dropdown-menu li a:hover {      background-color: #F9FAFB;      color: #DC2626;    }    .mobile-menu-toggle {      display: none;      flex-direction: column;      gap: 4px;      background: none;      border: none;      cursor: pointer;      padding: 0.5rem;      z-index: 1001;    }    .mobile-menu-toggle span {      width: 28px;      height: 3px;      background-color: #1E3A8A;      transition: all 250ms ease;      border-radius: 2px;      display: block;    }    .mobile-menu-toggle.active span:nth-child(1) {      transform: rotate(45deg) translate(5px, 5px);    }    .mobile-menu-toggle.active span:nth-child(2) {      opacity: 0;    }    .mobile-menu-toggle.active span:nth-child(3) {      transform: rotate(-45deg) translate(5px, -5px);    }    @media (max-width: 1024px) {      .main-nav .logo>img {        height: 60px !important;      }      .mobile-menu-toggle {        display: flex;      }      .nav-menu {        position: absolute;        top: 100%;        left: 0;        right: 0;        background-color: #fff;        flex-direction: column;        align-items: stretch;        padding: 0;        box-shadow: none;        display: none !important;      }      .nav-menu.active {        display: flex !important;        padding: 1rem 1.5rem;        border-top: 2px solid #E5E7EB;        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);      }      .nav-item {        width: 100%;      }      .nav-link {        padding: 0.75rem 1rem;        display: block;      }      .dropdown-menu {        position: static;        transform: none;        box-shadow: none;        padding-left: 1rem;        background-color: #F9FAFB;        margin-top: 0.5rem;        border-radius: 8px;        display: none;        opacity: 1;        visibility: visible;      }      .dropdown.open>.dropdown-menu {        display: block;      }    }    @media (max-width: 480px) {      .main-nav .logo>img {        height: 50px !important;      }    }/* ============================================================ */          :root {            --loader-bg: rgba(9, 16, 33, 0.88);            --loader-panel: #0f1b35;            --loader-panel-2: #132448;            --loader-text: #f5f7fb;            --loader-muted: #b8c3da;            --loader-red: #c83b4d;            --loader-red-2: #e05263;            --loader-blue: #1d315f;            --loader-white: #ffffff;            --loader-shadow: 0 20px 60px rgba(0, 0, 0, 0.35);          }          .reunion-loader {            position: fixed;            inset: 0;            z-index: 9999;            display: grid;            place-items: center;            padding: 20px;            background: var(--loader-bg);            backdrop-filter: blur(6px);            transition: opacity 0.25s ease, visibility 0.25s ease;          }          .reunion-loader.hidden {            opacity: 0;            visibility: hidden;            pointer-events: none;          }          .reunion-loader__panel {            width: min(980px, 100%);            display: grid;            grid-template-columns: 1.1fr 0.9fr;            gap: 24px;            background:              linear-gradient(180deg, var(--loader-panel), var(--loader-panel-2));            color: var(--loader-text);            border-radius: 24px;            box-shadow: var(--loader-shadow);            padding: 28px;            border: 1px solid rgba(255, 255, 255, 0.08);          }          .reunion-loader__left,          .reunion-loader__right {            min-width: 0;          }          .reunion-loader__badge {            display: inline-block;            padding: 8px 12px;            border-radius: 999px;            background: rgba(200, 59, 77, 0.16);            color: #ffd7dd;            font-size: 12px;            font-weight: 700;            letter-spacing: 0.08em;            text-transform: uppercase;            margin-bottom: 14px;            border: 1px solid rgba(200, 59, 77, 0.35);          }          .reunion-loader__title {            margin: 0 0 8px;            color: var(--loader-text);            font-size: clamp(26px, 4vw, 36px);            line-height: 1.1;          }          .reunion-loader__step {            margin: 0 0 22px;            font-size: 18px;            color: var(--loader-muted);            min-height: 28px;          }          .reunion-loader__progressWrap {            display: grid;            grid-template-columns: 1fr auto;            gap: 10px;            align-items: center;            margin-bottom: 16px;          }          .reunion-loader__progressBar {            width: 100%;            height: 14px;            border-radius: 999px;            background: rgba(255, 255, 255, 0.08);            overflow: hidden;            box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);          }          .reunion-loader__progressFill {            width: 0%;            height: 100%;            border-radius: inherit;            background: linear-gradient(90deg, var(--loader-red), var(--loader-red-2));            transition: width 0.35s ease;            box-shadow: 0 0 18px rgba(224, 82, 99, 0.45);          }          .reunion-loader__progressText {            min-width: 48px;            text-align: right;            font-weight: 700;            color: #ffdbe1;          }          .reunion-loader__message {            margin: 0 0 18px;            color: #dfe6f7;            font-size: 15px;            min-height: 22px;          }          .reunion-loader__dots {            display: flex;            gap: 8px;            align-items: center;          }          .reunion-loader__dots span {            width: 10px;            height: 10px;            border-radius: 999px;            background: #fff;            opacity: 0.28;            animation: loaderDotPulse 1.2s infinite ease-in-out;          }          .reunion-loader__dots span:nth-child(2) {            animation-delay: 0.18s;          }          .reunion-loader__dots span:nth-child(3) {            animation-delay: 0.36s;          }          @keyframes loaderDotPulse {            0%,            80%,            100% {              transform: scale(0.85);              opacity: 0.25;            }            40% {              transform: scale(1.15);              opacity: 1;            }          }          .design-preview {            position: relative;            min-height: 340px;            display: grid;            place-items: center;            border-radius: 22px;            background:              radial-gradient(circle at top right, rgba(200, 59, 77, 0.2), transparent 30%),              linear-gradient(180deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));            border: 1px solid rgba(255, 255, 255, 0.08);            overflow: hidden;          }          .design-preview__paper {            position: absolute;            inset: auto auto 24px 24px;            width: 78%;            height: 76%;            background: rgba(255, 255, 255, 0.035);            border-radius: 18px;            transform: rotate(-3deg);            box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);          }          .design-preview__card {            position: relative;            width: min(310px, 88%);            aspect-ratio: 4 / 5;            background: #fff;            border-radius: 24px;            box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);            overflow: hidden;            transform: rotate(2deg);          }          .design-preview__line {            position: absolute;            left: 12%;            height: 10px;            border-radius: 999px;            background: #e8ecf4;            opacity: 0;            animation: pieceIn 3.6s infinite ease;          }          .line-1 {            top: 11%;            width: 58%;            animation-delay: 0.15s;          }          .line-2 {            top: 18%;            width: 38%;            animation-delay: 0.45s;          }          .line-3 {            bottom: 12%;            width: 48%;            animation-delay: 1.4s;          }          .design-preview__chip {            position: absolute;            display: inline-flex;            align-items: center;            justify-content: center;            padding: 10px 14px;            border-radius: 14px;            font-weight: 700;            box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);            opacity: 0;            transform: translateY(10px) scale(0.96);            animation: pieceIn 3.6s infinite ease;            white-space: nowrap;          }          .chip-name {            top: 28%;            left: 10%;            background: #132448;            color: #fff;            animation-delay: 0.7s;          }          .chip-place {            top: 42%;            right: 10%;            background: #f3f5fa;            color: #122041;            animation-delay: 1.05s;          }          .chip-date {            top: 54%;            left: 12%;            background: #c83b4d;            color: #fff;            animation-delay: 1.35s;          }          .chip-quote {            bottom: 20%;            left: 10%;            background: #f9e8eb;            color: #8c2e3c;            font-weight: 600;            animation-delay: 1.75s;          }          .chip-style {            top: 68%;            right: 12%;            background: #eef2fb;            color: #1d315f;            animation-delay: 2.1s;          }          .chip-icon {            top: 24%;            right: 11%;            width: 42px;            height: 42px;            padding: 0;            border-radius: 999px;            background: #fff3d7;            color: #9a6a00;            animation-delay: 2.4s;          }          .design-preview__spark {            position: absolute;            width: 18px;            height: 18px;            border-radius: 999px;            background: radial-gradient(circle, rgba(200, 59, 77, 0.55) 0%, rgba(200, 59, 77, 0) 70%);            opacity: 0;            animation: sparkle 3.6s infinite ease;          }          .spark-1 {            top: 24%;            left: 18%;            animation-delay: 1.1s;          }          .spark-2 {            top: 50%;            right: 18%;            animation-delay: 1.9s;          }          .spark-3 {            bottom: 18%;            left: 42%;            animation-delay: 2.5s;          }          @keyframes pieceIn {            0%,            12% {              opacity: 0;              transform: translateY(10px) scale(0.96);            }            18%,            78% {              opacity: 1;              transform: translateY(0) scale(1);            }            100% {              opacity: 0;              transform: translateY(-4px) scale(1.02);            }          }          @keyframes sparkle {            0%,            25%,            100% {              opacity: 0;              transform: scale(0.4);            }            35%,            60% {              opacity: 1;              transform: scale(1);            }          }          @media (max-width: 820px) {            .reunion-loader__panel {              grid-template-columns: 1fr;            }            .design-preview {              min-height: 260px;            }          }/* ============================================================ */    /* Color inputs */    .color-row {      display: flex;      align-items: center;      gap: 1rem;      flex-wrap: wrap;      margin-top: .25rem    }    .color-item {      display: flex;      align-items: center;      gap: .4rem    }    .color-item>label {      font-weight: 600;      font-size: .82rem;      color: var(--g600);      white-space: nowrap    }    .color-swatch {      width: 38px;      height: 38px;      padding: 0;      border: 2px solid var(--g200);      border-radius: var(--r-md);      cursor: pointer;      background: none    }    .color-swatch::-webkit-color-swatch-wrapper {      padding: 2px    }    .color-swatch::-webkit-color-swatch {      border: none;      border-radius: 3px    }    .color-name {      width: 100px;      border: 1.5px solid var(--g200);      border-radius: var(--r-md);      padding: .45rem .6rem;      font: inherit;      font-size: .82rem;      color: var(--ink);      background: var(--white)    }    .color-name:focus {      outline: none;      border-color: var(--navy)    }    .color-name::placeholder {      color: var(--g400)    }    /* ── Generate overlay ── */    #genOverlay {      padding: 0    }    #genOverlay .wiz-foot {      border-top: 1px solid var(--g200);      background: var(--g100);      padding: 1rem 1.75rem    }    /* ── Auth forms in limit overlay ── */    .auth-tabs {      display: flex;      justify-content: center;      gap: 2px;      background: var(--g200);      border-radius: var(--r-full);      padding: 3px;      margin-bottom: 1.25rem;      display: inline-flex    }    .auth-tab {      font-family: var(--font-body);      font-size: .85rem;      font-weight: 700;      padding: .5rem 1.25rem;      border: none;      border-radius: var(--r-full);      cursor: pointer;      background: transparent;      color: var(--g500);      transition: all .2s    }    .auth-tab.active {      background: var(--navy);      color: #fff;      box-shadow: var(--sh-sm)    }    .auth-form {      text-align: left    }    .auth-form .fi {      margin-bottom: .65rem    }    .auth-form input {      width: 100%;      border: 1.5px solid var(--g200);      border-radius: var(--r-md);      padding: .7rem .85rem;      font: inherit;      font-size: .88rem;      color: var(--ink);      background: var(--white);      transition: border-color .2s, box-shadow .2s    }    .auth-form input:focus {      outline: none;      border-color: var(--navy);      box-shadow: 0 0 0 3px rgba(30, 42, 74, .1)    }    .auth-error {      color: var(--rose);      font-size: .82rem;      font-weight: 600;      min-height: 1.2em;      margin-top: .25rem    }    .gen-loading {      text-align: center;      padding: 3rem 1rem    }    .gen-loading h4 {      font-family: var(--font-heading);      font-size: 1.35rem;      color: var(--navy);      margin-bottom: .3rem;      font-weight: 400    }    .gen-loading p {      color: var(--g500);      font-size: .9rem    }    .gen-result {      padding: 0 0 1.5rem    }    .gen-error-icon {      font-size: 2.5rem;      margin-bottom: .75rem    }    .gen-actions {      display: flex;      gap: .75rem;      justify-content: center;      flex-wrap: wrap;      margin-bottom: 1rem;      padding: 0 1.75rem    }/* ── Save button states ── */#saveDesignBtn.is-saved {  background: #10b981;  background-image: none;  box-shadow: var(--sh-md), 0 0 20px rgba(16, 185, 129, .2);  cursor: default;}#saveDesignBtn.is-saved:hover {  transform: none;}#saveDesignBtn:disabled {  opacity: .7;  cursor: wait;}/* Dashboard link that appears after save */.save-success-note {  text-align: center;  margin-top: .75rem;  padding: 0 1.75rem;  display: none;}.save-success-note.show {  display: block;}.save-success-note a {  color: #10b981;  font-weight: 700;  text-decoration: none;  font-size: .88rem;}.save-success-note a:hover {  text-decoration: underline;}    .gen-note {      font-size: .82rem;      color: var(--g400);      text-align: center;      max-width: 400px;      margin: 0 auto;      padding: 0 1.75rem    }    /* ── Hero Mockup ── */    .mockup-hero {      background: var(--g100);      display: flex;      align-items: center;      justify-content: center;      padding: 2.5rem 1.5rem;      margin-bottom: 0    }    .mockup-frame {      position: relative;      width: 100%;      max-width: 560px    }    .mockup-shirt-img {      width: 100%;      display: block;      border-radius: var(--r-lg);      box-shadow: var(--sh-xl)    }    .mockup-design-overlay {      position: absolute;      top: 25%;      left: 29.5%;      width: 40%;      display: flex;      align-items: flex-start;      justify-content: center;      pointer-events: none    }    .mockup-design-overlay img {      width: 100%;      height: auto;      object-fit: contain    }    /* ── Shirt Selector Panel ── */    .shirt-selector {      padding: 1.5rem 1.75rem;      border-bottom: 1px solid var(--g200)    }    .selector-section {      margin-bottom: 1.25rem    }    .selector-section:last-child {      margin-bottom: 0    }    .selector-label {      font-size: .8rem;      font-weight: 700;      color: var(--g500);      text-transform: uppercase;      letter-spacing: .04em;      margin-bottom: .6rem    }    /* Model tabs */    .model-tabs {      display: flex;      gap: .4rem;      flex-wrap: wrap    }    .model-tab {      font-family: var(--font-body);      font-size: .78rem;      font-weight: 700;      padding: .5rem .85rem;      border-radius: var(--r-full);      border: 1.5px solid var(--g200);      background: var(--white);      color: var(--g600);      cursor: pointer;      transition: all .18s;      white-space: nowrap    }    .model-tab:hover {      border-color: var(--rose);      color: var(--rose)    }    .model-tab.active {      background: var(--navy);      border-color: var(--navy);      color: #fff    }    /* Swatches */    .swatch-row {      display: flex;      align-items: center;      gap: .5rem;      flex-wrap: wrap    }    .sw {      width: 32px;      height: 32px;      border-radius: 50%;      border: 2.5px solid var(--g200);      cursor: pointer;      transition: all .15s;      padding: 0;      flex-shrink: 0;      position: relative    }    .sw:hover {      transform: scale(1.15);      border-color: var(--g400)    }    .sw.active {      border-color: var(--rose);      box-shadow: 0 0 0 3px var(--rose-glow);      transform: scale(1.2)    }    .sw[title]:hover::after {      content: attr(title);      position: absolute;      bottom: calc(100% + 6px);      left: 50%;      transform: translateX(-50%);      background: var(--ink);      color: #fff;      font-size: .65rem;      font-weight: 600;      padding: .2rem .45rem;      border-radius: 4px;      white-space: nowrap;      pointer-events: none;      z-index: 10    }    /* ── Mockup Actions Bar ── */    .mockup-actions {      display: flex;      align-items: center;      justify-content: center;      gap: .65rem;      padding: 1.15rem 1.75rem;      border-bottom: 1px solid var(--g200);      flex-wrap: wrap    }    .mockup-actions .btn {      font-size: .82rem    }    #outlineToggleBtn {      min-width: 160px;      text-align: center;      transition: all .2s    }    #outlineToggleBtn.outline-active {      background: var(--navy);      border-color: var(--navy);      color: #fff    }    /* ── Ink Color Picker ── */    .ink-picker {      padding: 1.15rem 1.75rem;      border-bottom: 1px solid var(--g200)    }    .ink-swatch-row {      display: flex;      align-items: center;      gap: .5rem;      flex-wrap: wrap;      margin-top: .5rem    }    .ink-sw {      width: 30px;      height: 30px;      border-radius: 50%;      border: 2.5px solid var(--g200);      cursor: pointer;      transition: all .15s;      padding: 0;      flex-shrink: 0;      position: relative    }    .ink-sw:hover {      transform: scale(1.15);      border-color: var(--g400)    }    .ink-sw.active {      border-color: var(--rose);      box-shadow: 0 0 0 3px var(--rose-glow);      transform: scale(1.2)    }    .ink-sw[title]:hover::after {      content: attr(title);      position: absolute;      bottom: calc(100% + 6px);      left: 50%;      transform: translateX(-50%);      background: var(--ink);      color: #fff;      font-size: .65rem;      font-weight: 600;      padding: .2rem .45rem;      border-radius: 4px;      white-space: nowrap;      pointer-events: none;      z-index: 10    }    /* White swatch needs a visible border */    .ink-sw[data-ink="#FFFFFF"] {      border-color: var(--g300)    }    /* Raw design */    .raw-design-toggle {      margin: 0;      text-align: center;      padding: 1rem 1.75rem;      border-bottom: 1px solid var(--g200)    }    .raw-design-toggle summary {      font-size: .84rem;      color: var(--g500);      cursor: pointer;      font-weight: 600;      padding: .4rem 0    }    .raw-design-toggle summary:hover {      color: var(--navy)    }    .raw-bg {      position: relative;      border-radius: var(--r-lg);      overflow: hidden;      margin-top: .75rem;      padding: 2rem;      display: flex;      align-items: center;      justify-content: center;      min-height: 300px    }    .raw-bg img {      max-width: 80%;      max-height: 400px;      object-fit: contain;      position: relative;      z-index: 1    }    .dl-row {      display: flex;      gap: .45rem;      justify-content: center;      flex-wrap: wrap;      margin-top: .75rem    }    .dl-row .btn {      font-size: .8rem;      padding: .5rem .9rem    }    /* ── Actions spacing ── */    .gen-result .gen-actions {      padding-top: 1.5rem    }/* ============================================================ *//* ── Bigger mockup on desktop ── */.mockup-frame {  max-width: 720px !important;}.mockup-hero {  padding: 3rem 1.5rem !important;}/* ── Bigger design preview card ── */.design-preview {  min-height: 420px !important;}.design-preview__card {  width: min(380px, 90%) !important;}/* ── Phone overrides ── */@media (max-width: 820px) {  .mockup-frame {    max-width: 100% !important;  }  .mockup-hero {    padding: 1.5rem 0.75rem !important;  }  .design-preview {    min-height: 300px !important;  }  .design-preview__card {    width: min(280px, 92%) !important;  }}/* ── Zoom cursor hint ── */.mockup-frame {  cursor: zoom-in;}/* ── Lightbox overlay ── */.rk-lightbox {  position: fixed;  inset: 0;  z-index: 99999;  background: rgba(0, 0, 0, 0.88);  display: flex;  align-items: center;  justify-content: center;  padding: 20px;  cursor: zoom-out;  opacity: 0;  transition: opacity 0.25s ease;  -webkit-tap-highlight-color: transparent;}.rk-lightbox.visible {  opacity: 1;}.rk-lightbox-inner {  position: relative;  max-width: 95vw;  max-height: 90vh;  animation: rkZoomIn 0.3s ease both;}.rk-lightbox-inner img {  max-width: 95vw;  max-height: 85vh;  object-fit: contain;  border-radius: 12px;  box-shadow: 0 20px 80px rgba(0, 0, 0, 0.5);  display: block;}/* Design overlay inside lightbox */.rk-lightbox-inner .rk-lb-overlay {  position: absolute;  top: 25%;  left: 27.5%;  width: 40%;  pointer-events: none;}.rk-lightbox-inner .rk-lb-overlay img {  width: 100%;  height: auto;  box-shadow: none;  border-radius: 0;}.rk-lightbox-close {  position: absolute;  top: -16px;  right: -16px;  width: 40px;  height: 40px;  background: #fff;  color: #333;  border: none;  border-radius: 50%;  font-size: 1.2rem;  font-weight: 700;  cursor: pointer;  display: flex;  align-items: center;  justify-content: center;  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);  z-index: 1;}.rk-lightbox-close:hover {  background: #f0f0f0;}@keyframes rkZoomIn {  from { transform: scale(0.85); opacity: 0; }  to   { transform: scale(1);    opacity: 1; }}/* Prevent body scroll while lightbox is open */body.rk-lb-open {  overflow: hidden;}/* ════════════════════════════════   QUICK PICK — Style-matching quiz (rq-quiz)   ════════════════════════════════ */.rq-quiz {  padding: 1.5rem 1.75rem 1.75rem;}.rq-progress {  margin-bottom: 1.5rem;}.rq-progress-label {  font-size: .8rem;  font-weight: 600;  color: var(--g500);  margin-bottom: .5rem;}.rq-progress-track {  height: 6px;  background: var(--g200);  border-radius: var(--r-full);  overflow: hidden;}.rq-progress-fill {  height: 100%;  background: linear-gradient(90deg, var(--rose), var(--rose-dk));  border-radius: var(--r-full);  transition: width .35s ease;}.rq-step {  display: none;  animation: fadeUp .28s ease;}.rq-step.on {  display: block;}.rq-headline h4 {  font-family: var(--font-heading);  font-size: 1.25rem;  font-weight: 400;  color: var(--navy);  margin-bottom: .3rem;}.rq-headline p {  color: var(--g500);  font-size: .85rem;  margin-bottom: 1.25rem;}.rq-cards {  display: grid;  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));  gap: .75rem;  margin-bottom: 1.5rem;}.rq-card {  border: 2px solid var(--g200);  border-radius: var(--r-lg);  padding: 1rem;  cursor: pointer;  transition: all .2s;  background: var(--white);}.rq-card:hover {  border-color: var(--rose);  transform: translateY(-1px);  box-shadow: var(--sh-sm);}.rq-card.selected {  border-color: var(--rose);  background: var(--rose-glow);  box-shadow: var(--sh-sm);}.rq-card-icon {  font-size: 1.6rem;  margin-bottom: .4rem;}.rq-card-label {  font-weight: 700;  font-size: .9rem;  color: var(--navy);  margin-bottom: .2rem;}.rq-card-desc {  font-size: .77rem;  color: var(--g500);  line-height: 1.35;}.rq-nav {  display: flex;  justify-content: flex-end;  align-items: center;  gap: .75rem;}.rq-btn-next {  background: var(--rose);  color: #fff;  font-family: var(--font-body);  font-weight: 700;  font-size: .9rem;  padding: .7rem 1.5rem;  border-radius: var(--r-lg);  border: none;  cursor: pointer;  transition: all .2s;}.rq-btn-next:hover:not(:disabled) {  background: var(--rose-dk);  transform: translateY(-1px);}.rq-btn-next:disabled {  opacity: .35;  cursor: not-allowed;  transform: none;}.rq-btn-back {  background: transparent;  color: var(--g500);  border: none;  font-size: .85rem;  cursor: pointer;  padding: .7rem .5rem;  margin-right: auto;}.rq-btn-back:hover {  color: var(--ink);}@media (max-width: 600px) {  .rq-cards {    grid-template-columns: 1fr;  }}/* ── Tab bar (Quick Pick / Custom Design / Gallery) on phones ── */@media (max-width: 600px) {  .tab-bar {    padding: 0 .25rem;  }  .tab-wrap {    display: flex;    width: 100%;    gap: 3px;  }  .tab-btn {    flex: 1;    padding: .55rem .3rem;    font-size: .68rem;    line-height: 1.3;    white-space: normal;  }  .tab-btn .btn-subtext {    display: none;  }}/* ════════════════════════════════   HERO — the designer page head.   These classes never had any CSS, so the hero was unstyled. The sample   shirt image that used to sit on the right was removed (it rendered at its   full 1128px and swallowed the top of the page).   ════════════════════════════════ */.page-head-hero {  text-align: center;  margin-bottom: 2rem;}.page-head-hero .hero-content,.page-head-hero .hero-left {  width: 100%;}.page-head-hero .page-sub {  margin: 0 auto 1.6rem;}/* "← Options" — back to the three choices, sits left of the tab pills */.tab-back {  font-family: var(--font-body);  font-size: .82rem;  font-weight: 700;  color: var(--g500);  background: transparent;  border: none;  cursor: pointer;  padding: .5rem .6rem;  margin-right: .4rem;  align-self: center;}.tab-back:hover {  color: var(--navy);}@media (max-width: 600px) {  .tab-back {    font-size: .72rem;    padding: .45rem .3rem;    margin-right: .2rem;  }}/* ════════════════════════════════   LANDING — #studioLanding (October 2026)   Replaces the old three-card "How would you like to begin?" chooser.   One big button for the Quick Pick quiz, the shirt on the right, and two   smaller ways in underneath. .page.is-start (set by switchTab('start'))   shows the landing and hides the studio; any other tab does the reverse.   ════════════════════════════════ */.page.is-start {  max-width: 1200px;  padding-top: 1.5rem;}.page.is-start .page-head-hero,.page.is-start .panel-wrap {  display: none;}.page:not(.is-start) .sl {  display: none;}.sl {  --sl-navy: #0F2341;  --sl-red: #C8362E;  --sl-red-dk: #a82b24;  --sl-line: #e6ddd0;  color: var(--sl-navy);}/* ── Hero: text left, shirt right ── */.sl-hero {  display: grid;  grid-template-columns: 1fr 1fr;  gap: 2.5rem;  align-items: center;}.sl-eyebrow {  font-size: .8rem;  font-weight: 700;  letter-spacing: .22em;  text-transform: uppercase;  color: var(--g600);  margin-bottom: 1rem;}/* main.css colors every h1-h6 near-black, so set it here */.sl-title {  font-family: var(--font-heading);  font-weight: 400;  font-size: clamp(2.4rem, 5.2vw, 4rem);  line-height: 1.04;  letter-spacing: -.01em;  color: var(--sl-navy);  margin-bottom: 1.25rem;}.sl-sub {  font-family: var(--font-heading);  font-size: clamp(1.15rem, 2vw, 1.4rem);  color: var(--g700);  margin-bottom: 1.6rem;}.sl-sub em {  font-style: italic;  color: var(--sl-navy);}.sl-cta {  display: inline-flex;  align-items: center;  gap: .75rem;  font-family: var(--font-heading);  font-size: 1.45rem;  color: #fff;  background: var(--sl-red);  border: none;  border-radius: var(--r-md);  padding: 1rem 2.4rem;  cursor: pointer;  box-shadow: 0 8px 20px rgba(200, 54, 46, .25);  transition: background .2s, transform .2s, box-shadow .2s;}.sl-cta svg {  width: 22px;  height: 22px;  transition: transform .2s;}.sl-cta:hover {  background: var(--sl-red-dk);  transform: translateY(-2px);  box-shadow: 0 12px 26px rgba(200, 54, 46, .3);}.sl-cta:hover svg {  transform: translateX(4px);}.sl-cta:focus-visible {  outline: 3px solid var(--sl-navy);  outline-offset: 3px;}.sl-note {  margin-top: .9rem;  font-size: .92rem;  color: var(--g600);}.sl-note span {  margin: 0 .35rem;}/* The shirt: same overlay geometry as the designer mockup and the homepage */.sl-hero-shirt {  position: relative;  background: linear-gradient(160deg, #f6eee2 0%, #efe5d6 100%);  border-radius: var(--r-xl);  padding: 2.5rem 2rem 1.5rem;  display: flex;  justify-content: center;}.sl-tag {  position: absolute;  top: 1rem;  right: 1rem;  font-size: .78rem;  color: var(--g600);  background: rgba(255, 255, 255, .55);  border: 1px solid rgba(0, 0, 0, .06);  border-radius: var(--r-full);  padding: .3rem .85rem;}.sl-mock {  position: relative;  width: 100%;  max-width: 460px;}.sl-mock img {  display: block;  width: 100%;  mix-blend-mode: multiply;}.sl-mock .sl-mock-art {  position: absolute;  top: 25%;  left: 29.5%;  width: 40%;  /* the design's off-white background would show as a faint box; lift it to     pure white so multiply blends it away */  filter: brightness(1.08) contrast(1.04);}/* ── "Already have something in mind?" with rules either side ── */.sl-divider {  display: flex;  align-items: center;  gap: 1.5rem;  margin: 2.75rem 0 1.25rem;  font-family: var(--font-heading);  font-weight: 400;  font-size: clamp(1.4rem, 2.6vw, 2rem);  color: var(--sl-navy);  text-align: center;}.sl-divider::before,.sl-divider::after,.sl-foot::before,.sl-foot::after {  content: "";  flex: 1;  height: 1px;  background: var(--sl-line);}/* ── The two smaller ways in ── */.sl-choices {  display: grid;  grid-template-columns: 1fr 1fr;  gap: 1.25rem;}.sl-choice {  display: flex;  align-items: center;  gap: 1.75rem;  padding: 1.6rem 1.75rem;  background: var(--white);  border: 1px solid var(--sl-line);  border-radius: var(--r-lg);  font: inherit;  color: inherit;  text-align: left;  text-decoration: none;  cursor: pointer;  transition: border-color .2s, box-shadow .2s, transform .2s;}.sl-choice:hover {  border-color: var(--g300);  box-shadow: var(--sh-lg);  transform: translateY(-2px);}.sl-choice:focus-visible {  outline: 3px solid var(--sl-navy);  outline-offset: 3px;}.sl-choice-icon {  flex: 0 0 auto;  width: 96px;  display: flex;  justify-content: center;  color: var(--sl-navy);}.sl-choice-icon svg {  width: 64px;  height: 64px;}/* three gallery designs fanned out like cards */.sl-choice-fan {  flex: 0 0 auto;  display: flex;  align-items: center;  padding: 0 .5rem;}.sl-choice-fan img {  width: 80px;  height: 80px;  object-fit: cover;  border-radius: 4px;  background: #fff;  box-shadow: 0 4px 10px rgba(15, 35, 65, .18);}.sl-choice-fan img:nth-child(1) { transform: rotate(-6deg); }.sl-choice-fan img:nth-child(2) { transform: translateY(-4px); margin: 0 -14px; position: relative; z-index: 1; }.sl-choice-fan img:nth-child(3) { transform: rotate(6deg); }.sl-choice-text {  display: flex;  flex-direction: column;  gap: .3rem;}.sl-choice-title {  font-family: var(--font-heading);  font-size: 1.6rem;  line-height: 1.15;  color: var(--sl-navy);}.sl-choice-desc {  color: var(--g700);  font-size: 1rem;}.sl-choice-link {  margin-top: .35rem;  font-family: var(--font-heading);  font-size: 1.15rem;  color: var(--sl-red);  text-decoration: underline;  text-underline-offset: 4px;  text-decoration-thickness: 1.5px;}.sl-choice:hover .sl-choice-link {  color: var(--sl-red-dk);}.sl-foot {  display: flex;  align-items: center;  gap: 1.5rem;  margin-top: 2.5rem;  font-family: var(--font-heading);  font-style: italic;  font-size: 1.05rem;  color: var(--g600);  white-space: nowrap;}@media (max-width: 900px) {  .sl-hero {    grid-template-columns: 1fr;    gap: 1.75rem;  }  .sl-hero-text {    text-align: center;  }  .sl-hero-shirt {    padding: 2.25rem 1.25rem 1rem;  }  .sl-mock {    max-width: 340px;  }  .sl-choices {    grid-template-columns: 1fr;  }}@media (max-width: 560px) {  .page.is-start {    padding-left: 1rem;    padding-right: 1rem;  }  .sl-cta {    width: 100%;    justify-content: center;    font-size: 1.2rem;    padding: .95rem 1.25rem;  }  .sl-divider {    gap: .75rem;  }  .sl-choice {    flex-direction: column;    text-align: center;    gap: 1rem;    padding: 1.4rem 1.1rem;  }  .sl-choice-text {    align-items: center;  }  .sl-choice-icon svg {    width: 52px;    height: 52px;  }  .sl-choice-fan img {    width: 68px;    height: 68px;  }  .sl-foot {    white-space: normal;    text-align: center;    gap: .75rem;  }}