/* Castanon Art: shipping styles, copied verbatim from the static site (shipping-printing.html). */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg-deep:#1c1c1a;
      --bg-dark:#222220;
      --bg-main:#262624;
      --bg-tile:#2a2a28;
      --bg-footer:#161614;
      --white:#ffffff;
      --soft-white:#e0e0e0;
      --mid:#c8c8c8;
      --dim:#666666;
      --ghost:#444444;
      --rule:#1e1e1e;
      --gold:#b8a583;
      --font-title: 'Newsreader', Georgia, serif;
      --font-body:'Libre Franklin',sans-serif;
    }

    html { scroll-behavior: smooth; }
    body {
      background: var(--bg-main);
      color: var(--white);
      font-family: var(--font-body);
      font-weight: 200;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    /* ── NAV ── */
    nav {
      background: #1c1c1a;
      border-bottom: 0.5px solid var(--rule);
      height: 58px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 0 40px;
      position: sticky;
      top: 0;
      z-index: 100;
    }
    .nav-left { display: flex; align-items: center; gap: 18px; }
    .nav-brand {
      font-family: var(--font-title);
      font-size: 21px;
      font-weight: 400;
      color: #ffffff;
      letter-spacing: 0.5px;
      text-transform: none;
      text-decoration: none;
      white-space: nowrap;
    }
    .nav-brand,
    .nav-brand:link,
    .nav-brand:visited,
    .nav-brand:hover,
    .nav-brand:active,
    .nav-brand:focus { text-decoration: none; }
    .nav-logo-link { display: flex; align-items: center; text-decoration: none; }
    .nav-logo-crop { display: block; width: 11.69px; height: 13px; overflow: hidden; position: relative; transform: translateY(-1px); }
    .nav-logo-crop svg { position: absolute; width: 11.686px; height: 13.025px; left: 0.002px; top: 0.002px; fill: #ddba79; opacity: 0.68; }
    .nav-links { display:flex; gap:16px; font-family:var(--font-body); font-size:11px; font-weight: 200; letter-spacing:0.8px; text-transform:uppercase; margin-left:auto; margin-right:44px; }
    .nav-links a { color:rgba(255,255,255,0.90); text-decoration:none; transition:color 0.2s ease; }
    .nav-links a:hover,
    .nav-links a.active { color: #ffffff; }
    .nav-right { flex-shrink:0; display:flex; align-items:center; }
    .nav-collect, a.nav-collect { font-family:var(--font-body); font-size:11px; font-weight: 200; letter-spacing:1.5px; text-transform:uppercase; text-decoration:none; color: var(--gold); transition:color 0.2s ease; }
    .nav-collect:hover,
    a.nav-collect:hover { color: #f0cc8a; }

    /* ── PAGE SHELL ── */
    .page-shell {
      padding: 72px 40px 120px;
      max-width: 720px;
      margin: 0 auto;
    }

    /* ── PAGE HEADER ── */
    .page-header {
      padding-bottom: 28px;
      border-bottom: 0.5px solid var(--rule);
      margin-bottom: 70px;
    }
    .page-eyebrow {
      font-size: 10px;
      font-weight: 200;
      letter-spacing: 4px;
      text-transform: uppercase;
      color: #b8b8b8;
      margin-bottom: 14px;
    }
    .page-title {
      font-family: var(--font-title);
      font-size: 36px;
      font-weight: 400;
      letter-spacing: 0.5px;
      text-transform: none;
      line-height: 1.2;
      color: var(--white);
    }

    /* ── CONTENT SECTIONS ── */
    .info-section {
      margin-bottom: 58px;
    }
    .info-section:last-child {
      margin-bottom: 0;
    }

    .section-label {
      font-family: var(--font-body);
      font-size: 9px;
      font-weight: 200;
      letter-spacing: 3.5px;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 20px;
    }

    .info-section p {
      font-size: 13.5px;
      font-weight: 200;
      color: #c9c9c9;
      line-height: 2;
      margin-bottom: 20px;
    }
    .info-section p:last-child {
      margin-bottom: 0;
    }

    /* ── MATERIALS LIST ── */
    .materials-list {
      list-style: none;
      margin-top: 4px;
      margin-bottom: 0;
      display: flex;
      flex-direction: column;
      gap: 13px;
    }
    .materials-list li {
      font-size: 13px;
      font-weight: 200;
      color: #b8b8b8;
      line-height: 1.8;
      padding-left: 20px;
      position: relative;
    }
    .materials-list li::before {
      content: "";
      position: absolute;
      left: 0;
      top: 10px;
      width: 5px;
      height: 0.5px;
      background: #666;
    }

    /* ── DIVIDER ── */
    .section-rule {
      border: none;
      border-top: 0.5px solid #242422;
      margin-bottom: 58px;
    }

    /* ── SITE FOOTER ── */
    footer { background: var(--bg-footer); border-top: 0.5px solid #333333; }
    .footer-cols {
      padding: 48px 40px;
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1.5fr;
      gap: 40px;
      border-bottom: 0.5px solid #2a2a2a;
    }
    .footer-col-label {
      font-family: var(--font-body);
      font-size: 10px;
      font-weight: 200;
      letter-spacing: 3px;
      text-transform: uppercase;
      color: #cccccc;
      margin-bottom: 16px;
    }
    .footer-brand {
      font-family: var(--font-title);
      font-size: 18px;
      letter-spacing: 0.5px;
      text-transform: none;
      color: var(--soft-white);
      opacity: 0.9;
      margin-bottom: 16px;
    }
    .footer-tagline {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 200;
      color: #cccccc;
      line-height: 1.9;
      font-style: italic;
    }
    .footer-explore { display: flex; flex-direction: column; gap: 10px; }
    .footer-explore a {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 200;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: #cccccc;
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-explore a:hover { color: var(--white); }
    .footer-email {
      font-family: var(--font-body);
      font-size: 12px;
      font-weight: 200;
      color: #cccccc;
      text-decoration: none;
      display: block;
      margin-bottom: 14px;
    }
    .footer-email:hover { color: var(--white); }
    .footer-body-text {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 200;
      color: #c8c8c8;
      line-height: 1.8;
    }
    .footer-circle-text {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 200;
      color: #cccccc;
      line-height: 1.9;
      margin-bottom: 20px;
    }
    .footer-circle-cta {
      font-family: var(--font-body);
      font-size: 10px;
      font-weight: 200;
      letter-spacing: 2px;
      text-transform: uppercase;
      color: var(--gold);
      border: 0.5px solid var(--gold);
      padding: 11px 20px;
      text-decoration: none;
      display: inline-block;
      transition: background 0.2s;
    }
    .footer-circle-cta:hover { background: rgba(184,165,131,0.08); }
    .footer-strip {
      padding: 16px 40px;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .footer-copy { font-family: var(--font-body); font-size: 11px; font-weight: 200; color: #cccccc; }
    .footer-links { display: flex; gap: 24px; }
    .footer-links a {
      font-family: var(--font-body);
      font-size: 11px;
      font-weight: 200;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: #cccccc;
      text-decoration: none;
      transition: color 0.2s;
    }
    .footer-links a:hover { color: var(--white); }

    @media (max-width: 980px) {
      nav { padding: 0 22px; }
      .page-shell { padding: 48px 22px 90px; }
      .footer-cols { grid-template-columns: 1fr 1fr; gap: 32px; padding: 36px 22px; }
      .footer-strip { padding: 16px 22px; flex-direction: column; align-items: flex-start; gap: 14px; }
    }
