.page-hero { background: #191919; color: #f7f7f5; padding: 76px 0 78px; }
.page-hero .section-kicker { color: #c5c5c5; }
.page-hero h1 { max-width: 850px; font-family: var(--display); font-size: clamp(48px, 6vw, 84px); line-height: 1.08; letter-spacing: -.05em; font-weight: 700; }
.page-hero p { max-width: 520px; color: #c7c7c7; font-size: 15px; line-height: 1.75; margin-top: 20px; }
.page-content { padding: 78px 0 100px; }
.page-content h2 { font-size: clamp(34px, 4vw, 54px); line-height: 1.12; letter-spacing: -.045em; }
.page-content p { color: #5b5b5b; font-size: 15px; line-height: 1.75; }
.page-intro { max-width: 640px; margin-bottom: 42px; }
.page-intro p { margin-top: 16px; }
.cards-page .cards-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; }
.cards-page .category { background: #e9e9e7; min-width: 0; }
.cards-page .category-img { position: relative; aspect-ratio: 3/4; overflow: hidden; }
.cards-page .category-number { position: absolute; top: 15px; left: 15px; background: #171717; color: #fff; padding: 8px 10px; font-size: 9px; letter-spacing: .12em; font-weight: 800; }
.cards-page .category-body { min-height: 210px; display: flex; flex-direction: column; padding: 23px; }
.cards-page .card-meta { color: #666; font-size: 9px; letter-spacing: .1em; font-weight: 800; margin-bottom: 10px; }
.cards-page .category-body h3 { margin: 0; font-size: 19px; line-height: 1.25; letter-spacing: -.035em; }
.cards-page .category-body p { font-size: 12px; line-height: 1.6; margin: 9px 0; }
.cards-page .learn { margin-top: auto; padding: 15px 0 0; border: 0; background: none; text-align: left; font-size: 10px; letter-spacing: .08em; font-weight: 800; text-transform: uppercase; }
.cards-page .learn .arrow { margin-left: 10px; }
.simple-split { display: grid; grid-template-columns: 1fr 1fr; gap: 9%; align-items: start; }
.simple-split .section-kicker { margin-top: 6px; }
.sell-page .offer { color: #151515; font-size: clamp(21px, 2.7vw, 32px); font-weight: 700; line-height: 1.3; letter-spacing: -.035em; }
.sell-page .leagues { display: inline-block; margin: 25px 0; border-block: 1px solid #c6c6c3; padding: 14px 0; font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.page-actions { display: flex; flex-wrap: wrap; gap: 20px; align-items: center; margin-top: 28px; }
.button-dark { background: #171717; color: #fff; }
.button-dark:hover { background: #333; }
.page-text-link { font-size: 12px; font-weight: 700; border-bottom: 1px solid #777; padding: 8px 0; }
.feature-story { background: #1c1c1c; color: #f7f7f5; display: grid; grid-template-columns: 1.05fr 1fr; align-items: stretch; }
.feature-story-image { position: relative; min-height: 0; display: flex; align-items: center; overflow: hidden; }
.feature-story-image img { display: block; width: 100%; height: auto; object-fit: contain; }
.feature-story-image:after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 90%, #1c1c1c); pointer-events: none; }
.feature-story-copy { align-self: center; padding: 75px clamp(28px, 5vw, 80px); }
.feature-story-copy h2 { font-size: clamp(35px, 4vw, 55px); line-height: 1.12; letter-spacing: -.045em; }
.feature-story-copy p { color: #ccc; line-height: 1.75; margin-top: 20px; max-width: 480px; }
.feature-story-copy small { display: block; margin-top: 25px; color: #aaa; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; line-height: 1.6; }
.contact-page .contact-details { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 25px; border-top: 1px solid #bbb; margin-top: 42px; }
.contact-page .contact-details a { padding: 24px 0; overflow-wrap: anywhere; font-weight: 700; font-size: 16px; }
.contact-page .contact-details small { display: block; margin-bottom: 12px; color: #6a6a6a; font-size: 10px; letter-spacing: .11em; font-weight: 800; }
.page-dialog { width: min(540px, calc(100% - 32px)); max-height: calc(100vh - 32px); overflow: auto; padding: 0; border: 0; background: #f7f7f5; color: #151515; }
.page-dialog::backdrop { background: #000b; }
.page-dialog .modal { padding: 30px; }
.page-dialog .modal-head { display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.page-dialog .modal-close { border: 1px solid #aaa; background: none; width: 38px; height: 38px; font-size: 24px; }
.page-dialog h2 { font-size: clamp(30px, 4vw, 45px); line-height: 1.15; letter-spacing: -.04em; margin: 16px 0 0; }
.page-dialog p { color: #666; font-size: 14px; line-height: 1.7; margin: 16px 0 0; }
.page-dialog .modal-photo { height: 200px; background: #e8e8e6; margin-top: 20px; }
.page-dialog .modal-photo img { width: 100%; height: 100%; object-fit: contain; }
.page-dialog .original-note { margin-top: 8px; color: #666; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.page-dialog .modal-tip { margin-top: 22px; padding: 18px; background: #e8e8e6; font-size: 13px; line-height: 1.6; }
.page-dialog .modal-tip strong { display: block; margin-bottom: 5px; font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.page-dialog .button { margin-top: 20px; }
.page-dialog .button-outline { border-color: #222; color: #222; background: transparent; }
.page-dialog .modal-keep { border: 0; background: none; text-decoration: underline; margin: 18px 0 0 12px; font-size: 12px; }
.page-dialog label { display: block; margin: 20px 0 7px; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.page-dialog input, .page-dialog textarea { width: 100%; border: 1px solid #bbb; background: #fff; padding: 12px; font: inherit; }
.page-dialog textarea { min-height: 80px; resize: vertical; }
.page-dialog .modal-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.page-dialog .note, .page-dialog .status { font-size: 11px; }
.cart-page .cart-page-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(270px, .65fr); gap: 50px; align-items: start; }
.cart-page .cart-body { overflow: visible; padding: 0; }
.cart-page .cart-footer { background: #e9e9e7; border: 0; padding: 28px; }
.cart-page .cart-line img { width: 110px; height: 135px; }
.cart-page .cart-line { grid-template-columns: 110px minmax(0,1fr); }
.cart-page .cart-line h3 { font-size: 18px; }
.cart-page .cart-message a { text-decoration: underline; }
.cart-page .cart-continue { display: block; }
@media (max-width: 1050px) { .cards-page .cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) {
  .page-hero { padding: 55px 0 58px; }
  .page-hero h1 { font-size: clamp(42px, 9vw, 62px); }
  .page-content { padding: 55px 0 75px; }
  .cards-page .cards-grid { grid-template-columns: 1fr; }
  .cards-page .category { display: grid; grid-template-columns: 43% 57%; }
  .cards-page .category-img { min-height: 230px; height: 100%; aspect-ratio: auto; }
  .cards-page .category-body { min-height: 230px; padding: 18px; }
  .simple-split, .feature-story, .cart-page .cart-page-grid { grid-template-columns: 1fr; gap: 28px; }
  .feature-story { gap: 0; }
  .feature-story-image, .feature-story-image img { min-height: 0; }
  .feature-story-image img { height: auto; }
  .feature-story-image:after { background: linear-gradient(0deg, #1c1c1c, transparent 10%); }
  .feature-story-copy { padding: 35px 24px 65px; }
  .contact-page .contact-details { grid-template-columns: 1fr; gap: 0; }
  .contact-page .contact-details a { border-bottom: 1px solid #ccc; }
}
