/* Generated by scripts/generate_shop_bundle.js. Do not edit by hand. */

/* SOURCE: commerce.css */
/* ========== TIER 1: PRIMITIVES ========== */
    :root {
      --primitive-gold: #C9A84C;
      --primitive-gold-dark: #71531e;
      --primitive-gold-light: #E8C97A;
      --primitive-gold-muted: #F5EDD6;
      --primitive-cream: #FAF8F5;
      --primitive-cream-dark: #F0EBE3;
      --primitive-warm-black: #1C1C1E;
      --primitive-charcoal: #2A2A2C;
      --primitive-stone: #8B7B6B;
      --primitive-stone-light: #B5A99A;
      --primitive-border: #E0D8CC;
      --primitive-border-soft: #EBE5DA;
      --primitive-white: #FFFFFF;
      --primitive-line: #06C755;

      /* TIER 2: SEMANTIC */
      --color-brand: var(--primitive-gold);
      --color-brand-hover: var(--primitive-gold-dark);
      --color-text-primary: var(--primitive-warm-black);
      --color-text-secondary: var(--primitive-stone);
      --color-text-muted: var(--primitive-stone-light);
      --color-surface: var(--primitive-cream);
      --color-surface-alt: var(--primitive-cream-dark);
      --color-surface-dark: var(--primitive-warm-black);
      --color-border: var(--primitive-border);
      --color-border-soft: var(--primitive-border-soft);

      /* TIER 3: COMPONENTS */
      --btn-primary-bg: var(--color-brand);
      --btn-primary-text: #fff;
      --card-gap: 1px;
      --card-bg-gap: var(--color-border);
      --nav-height: 72px;
      --section-pad-x: clamp(20px, 5vw, 72px);
      --section-pad-y: clamp(44px, 5.5vw, 88px);
      --container-max: 1440px;
      --radius-xs: 2px;
      --radius-s: 4px;
      --radius-m: 8px;

      --font-serif: 'Cormorant Garamond', 'Noto Serif JP', Georgia, serif;
      --font-sans: 'DM Sans', 'Noto Sans JP', system-ui, sans-serif;

      --ease: cubic-bezier(0.22, 0.61, 0.36, 1);
      --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
    }

    /* ========== RESET ========== */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 62.5%; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
    body {
      font-family: var(--font-sans);
      font-weight: 300;
      font-size: 1.5rem;
      line-height: 1.8;
      color: var(--color-text-primary);
      background: var(--color-surface);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
    }
    img { max-width: 100%; height: auto; display: block; }
    button { font: inherit; color: inherit; background: none; border: none; cursor: pointer; }
    input, select, textarea { font: inherit; color: inherit; }
    a { color: inherit; text-decoration: none; transition: opacity 0.2s ease; }
    a:hover { opacity: 0.7; }

    /* ========== TYPOGRAPHY ========== */
    h1, h2, h3, h4 {
      font-family: var(--font-serif);
      font-weight: 300;
      letter-spacing: 0.02em;
      line-height: 1.15;
      color: var(--color-text-primary);
    }
    .h-display { font-size: clamp(4.4rem, 7vw, 8.4rem); font-weight: 300; letter-spacing: 0.01em; }
    .h-section { font-size: clamp(3.2rem, 4.5vw, 5.2rem); font-weight: 300; letter-spacing: 0.02em; }
    .h-card { font-size: 2rem; font-weight: 400; letter-spacing: 0.02em; line-height: 1.3; }

    .eyebrow {
      font-family: var(--font-sans);
      font-size: 1.15rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--color-text-secondary);
      display: inline-block;
    }
    .eyebrow--gold { color: var(--color-brand); }
    .price {
      font-family: var(--font-sans);
      font-variant-numeric: tabular-nums;
      letter-spacing: 0;
    }
    .lead { font-size: 1.7rem; line-height: 1.8; color: var(--color-text-primary); font-weight: 300; }

    /* ========== LAYOUT ========== */
    .container {
      max-width: var(--container-max);
      margin: 0 auto;
      padding-left: var(--section-pad-x);
      padding-right: var(--section-pad-x);
    }
    section { padding: var(--section-pad-y) 0; }
    .section-header { margin-bottom: clamp(40px, 5vw, 72px); text-align: center; }
    .section-header .eyebrow { margin-bottom: 16px; }
    .section-header h2 { margin-bottom: 18px; }
    .section-header p { color: var(--color-text-secondary); max-width: 60ch; margin: 0 auto; }

    /* ========== BUTTONS ========== */
    .btn {
      display: inline-flex; align-items: center; justify-content: center; gap: 10px;
      padding: 16px 36px;
      font-family: var(--font-sans);
      font-size: 1.3rem;
      font-weight: 500;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      border-radius: var(--radius-xs);
      transition: all 0.3s var(--ease);
      cursor: pointer;
      white-space: nowrap;
      border: 1px solid transparent;
    }
    .btn-primary {
      background: var(--color-text-primary);
      color: #fff;
      border-color: var(--color-text-primary);
    }
    .btn-primary:hover { background: var(--color-brand); border-color: var(--color-brand); opacity: 1; }
    .btn-gold {
      background: var(--color-brand);
      color: #fff;
      border-color: var(--color-brand);
    }
    .btn-gold:hover { background: var(--color-brand-hover); border-color: var(--color-brand-hover); opacity: 1; }
    .btn-outline {
      background: transparent;
      color: var(--color-text-primary);
      border-color: var(--color-text-primary);
    }
    .btn-outline:hover { background: var(--color-text-primary); color: #fff; opacity: 1; }
    .btn-outline-gold {
      background: transparent;
      color: var(--color-brand);
      border-color: var(--color-brand);
    }
    .btn-outline-gold:hover { background: var(--color-brand); color: #fff; opacity: 1; }
    .btn-outline-light {
      background: transparent;
      color: #fff;
      border-color: rgba(255,255,255,0.6);
    }
    .btn-outline-light:hover { background: #fff; color: var(--color-text-primary); opacity: 1; }
    .btn-ghost { padding: 8px 4px; }
    .btn-ghost:hover { color: var(--color-brand); opacity: 1; }

    /* ========== HEADER ========== */
    .site-header {
      position: fixed; top: 0; left: 0; right: 0; z-index: 100;
      height: var(--nav-height);
      background: rgba(250, 248, 245, 0.92);
      backdrop-filter: blur(14px);
      -webkit-backdrop-filter: blur(14px);
      border-bottom: 1px solid var(--color-border);
      transition: background 0.3s var(--ease);
    }
    .header-inner {
      max-width: var(--container-max);
      height: 100%;
      margin: 0 auto;
      padding: 0 var(--section-pad-x);
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
    }
    .logo {
      display: flex; flex-direction: column; align-items: flex-start;
      line-height: 1; gap: 4px;
    }
    .logo-name {
      font-family: var(--font-serif);
      font-size: 2.2rem; font-weight: 400;
      letter-spacing: 0.16em; color: var(--color-text-primary);
    }
    .logo-tag {
      font-family: var(--font-sans);
      font-size: 0.95rem; font-weight: 400;
      letter-spacing: 0.22em;
      color: var(--color-text-secondary);
      text-transform: uppercase;
    }
    .nav-main {
      display: flex; gap: 36px; justify-content: center;
    }
    .nav-main a {
      font-size: 1.25rem; font-weight: 400;
      letter-spacing: 0.16em; text-transform: uppercase;
      color: var(--color-text-primary);
    }
    .nav-actions {
      display: flex; align-items: center; gap: 18px; justify-content: flex-end;
    }
    .icon-btn {
      width: 40px; height: 40px;
      display: inline-flex; align-items: center; justify-content: center;
      border-radius: 50%;
      position: relative;
      transition: background 0.2s ease;
    }
    .icon-btn:hover { background: rgba(0,0,0,0.04); opacity: 1; }
    .icon-btn svg { width: 20px; height: 20px; stroke: var(--color-text-primary); fill: none; stroke-width: 1.6; }
    .cart-badge {
      position: absolute; top: 4px; right: 4px;
      min-width: 18px; height: 18px; padding: 0 5px;
      border-radius: 9px;
      background: var(--color-brand); color: #fff;
      font-size: 1rem; font-weight: 500;
      display: none; align-items: center; justify-content: center;
    }
    .cart-badge.visible { display: inline-flex; }
    .icon-btn.bounce { animation: bounce 0.5s var(--ease); }
    @keyframes bounce {
      0%,100% { transform: scale(1); }
      30% { transform: scale(1.18); }
      60% { transform: scale(0.95); }
    }
    .hamburger {
      display: none;
      width: 40px; height: 40px;
      align-items: center; justify-content: center;
    }
    .hamburger span {
      position: relative;
      display: block; width: 22px; height: 1px;
      background: var(--color-text-primary);
      transition: all 0.3s var(--ease);
    }
    .hamburger span::before, .hamburger span::after {
      content: ''; position: absolute; left: 0; width: 22px; height: 1px;
      background: var(--color-text-primary); transition: all 0.3s var(--ease);
    }
    .hamburger span::before { top: -7px; }
    .hamburger span::after { top: 7px; }
    .hamburger.active span { background: transparent; }
    .hamburger.active span::before { top: 0; transform: rotate(45deg); }
    .hamburger.active span::after { top: 0; transform: rotate(-45deg); }

    .mobile-menu {
      position: fixed; inset: var(--nav-height) 0 0 0;
      background: var(--primitive-cream);
      transform: translateX(100%);
      transition: transform 0.4s var(--ease);
      z-index: 99;
      overflow-y: auto;
      padding: 40px var(--section-pad-x) 80px;
    }
    .mobile-menu.open { transform: translateX(0); }
    .mobile-menu nav { display: flex; flex-direction: column; gap: 4px; }
    .mobile-menu nav a {
      padding: 18px 0;
      font-family: var(--font-serif);
      font-size: 2.4rem; font-weight: 300;
      letter-spacing: 0.04em;
      border-bottom: 1px solid var(--color-border);
    }
    .mobile-actions {
      display: flex; flex-direction: column; gap: 12px;
      margin-top: 40px;
    }

    main { padding-top: var(--nav-height); }

    /* ========== HERO ========== */
    .hero {
      position: relative;
      height: calc(100vh - var(--nav-height));
      min-height: 640px;
      max-height: 880px;
      overflow: hidden;
      background: #F2EFE8;
      border-bottom: 1px solid var(--color-border);
    }
    .hero-bg {
      position: absolute; inset: 0 0 0 48%;
      background-image: url('/images/hero-pin-brush-clean.png');
      background-size: 112%;
      background-repeat: no-repeat;
      background-position: center;
      mix-blend-mode: multiply;
      opacity: 1;
      filter: contrast(1.08) saturate(.88);
      animation: heroReveal 1.4s var(--ease-out) forwards;
    }

    @keyframes heroReveal { from { opacity:0; transform: translateY(14px); } to { opacity:1; transform: translateY(0); } }
    .hero::before {
      content: ''; position: absolute; inset: 0; z-index: 1;
      background:
        linear-gradient(90deg, #F2EFE8 0%, #F2EFE8 41%, rgba(242,239,232,.68) 48%, rgba(242,239,232,0) 57%),
        linear-gradient(180deg, rgba(255,255,255,.18), rgba(0,0,0,.025));
      pointer-events: none;
    }
    .hero-content {
      position: relative; z-index: 2;
      max-width: var(--container-max);
      margin: 0 auto;
      height: 100%;
      padding: 0 var(--section-pad-x);
      display: flex; flex-direction: column; justify-content: center;
      align-items: flex-start;
      color: var(--color-text-primary);
    }
    .hero .eyebrow {
      color: var(--primitive-gold-dark);
      margin-bottom: 28px;
      animation: fadeUp 1s var(--ease-out) 0.2s backwards;
    }
    .hero h1 {
      color: var(--color-text-primary);
      font-size: clamp(4.8rem, 4.05vw, 5.9rem);
      font-weight: 300;
      letter-spacing: 0.02em;
      margin-bottom: 36px;
      max-width: 11em;
      animation: fadeUp 1.1s var(--ease-out) 0.35s backwards;
    }
    .hero h1 br { display: block; }
    .hero p.hero-sub {
      font-size: clamp(1.4rem, 1.4vw, 1.7rem);
      line-height: 1.9;
      color: var(--color-text-secondary);
      max-width: 39ch;
      margin-bottom: 48px;
      animation: fadeUp 1s var(--ease-out) 0.5s backwards;
    }
    .hero-cta {
      display: flex; gap: 16px; flex-wrap: wrap;
      animation: fadeUp 1s var(--ease-out) 0.65s backwards;
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    .hero-scroll {
      position: absolute; bottom: 36px; left: 50%; transform: translateX(-50%);
      z-index: 3;
      color: var(--color-text-secondary);
      font-size: 1rem;
      letter-spacing: 0.3em;
      text-transform: uppercase;
      display: flex; flex-direction: column; align-items: center; gap: 12px;
      animation: scrollPulse 2.4s ease-in-out infinite;
    }
    .hero-scroll::after {
      content: ''; width: 1px; height: 28px;
      background: linear-gradient(to bottom, rgba(28,28,30,.48), transparent);
    }
    @keyframes scrollPulse {
      0%, 100% { transform: translate(-50%, 0); opacity: 0.7; }
      50% { transform: translate(-50%, 6px); opacity: 1; }
    }

    /* ========== TRUST BAR ========== */
    .trustbar {
      background: var(--primitive-gold-muted);
      border-top: 1px solid var(--color-border);
      border-bottom: 1px solid var(--color-border);
      padding: 28px 0;
    }
    .trustbar-inner {
      max-width: var(--container-max);
      margin: 0 auto;
      padding: 0 var(--section-pad-x);
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 20px;
      align-items: center;
    }
    .trust-item {
      display: flex; align-items: center; justify-content: center; gap: 10px;
      font-size: 1.25rem; line-height: 1.4;
      color: var(--color-text-primary);
      letter-spacing: 0.04em;
      text-align: left;
    }
    .trust-icon { font-size: 2rem; flex-shrink: 0; line-height: 1; }
    .trust-text { font-weight: 400; }
    .trust-text small { display: block; font-size: 1.05rem; color: var(--color-text-secondary); margin-top: 2px; font-weight: 300; }

    /* ========== AESOP-STYLE PRODUCT GRID ========== */
    .product-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
      gap: var(--card-gap);
      background: var(--card-bg-gap);
      border: 1px solid var(--card-bg-gap);
    }
    .product-card {
      background: var(--primitive-cream);
      cursor: pointer;
      display: flex; flex-direction: column;
      transition: background 0.3s var(--ease);
      position: relative;
    }
    .product-card:hover { background: var(--primitive-white); }
    .product-img-wrap {
      position: relative;
      aspect-ratio: 3 / 3.2;
      overflow: hidden;
      background: var(--primitive-cream-dark);
    }
    .product-img-wrap img {
      width: 100%; height: 100%;
      object-fit: contain;
      padding: 12%;
      transition: transform 0.7s var(--ease-out), opacity 0.5s ease;
    }
    .product-card:hover .product-img-wrap img { transform: scale(1.04); }
    .product-img-wrap img.alt {
      position: absolute; inset: 0;
      opacity: 0;
    }
    .product-card:hover .product-img-wrap img.alt { opacity: 1; }
    .product-card:hover .product-img-wrap img.main { opacity: 0; }
    .product-badge {
      position: absolute; top: 16px; left: 16px;
      padding: 5px 12px;
      font-size: 0.95rem; letter-spacing: 0.18em;
      font-weight: 500; text-transform: uppercase;
      background: var(--primitive-warm-black); color: #fff;
      border-radius: var(--radius-xs);
      z-index: 2;
    }
    .badge-bestseller { background: var(--color-brand); }
    .badge-pro { background: var(--primitive-warm-black); }
    .product-body {
      padding: 28px 24px 32px;
      flex: 1;
      display: flex; flex-direction: column; gap: 10px;
    }
    .product-cat-tag {
      font-size: 0.95rem;
      letter-spacing: 0.2em;
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: 500;
    }
    .product-name {
      font-family: var(--font-serif);
      font-size: 1.85rem;
      font-weight: 400;
      line-height: 1.3;
      color: var(--color-text-primary);
      letter-spacing: 0.01em;
    }
    .product-desc {
      font-size: 1.25rem;
      color: var(--color-text-secondary);
      line-height: 1.65;
      font-weight: 300;
    }
    .product-size-select {
      width: 100%;
      padding: 11px 14px;
      background: transparent;
      border: 1px solid var(--color-border);
      border-radius: var(--radius-xs);
      font-size: 1.2rem;
      letter-spacing: 0.04em;
      color: var(--color-text-primary);
      cursor: pointer;
      appearance: none;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%231C1C1E' stroke-width='1.4'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
      background-repeat: no-repeat;
      background-position: right 14px center;
      padding-right: 36px;
    }
    .product-size-select:focus { outline: none; border-color: var(--color-brand); }
    .product-price {
      font-family: var(--font-sans);
      font-size: 1.6rem;
      font-weight: 500;
      color: var(--color-text-primary);
      font-variant-numeric: tabular-nums;
      margin-top: 2px;
    }
    .product-shipping-note {
      margin-top: -2px;
      color: var(--color-brand-hover);
      font-size: 1.05rem;
      font-weight: 500;
      letter-spacing: 0.04em;
    }
    .product-social-proof {
      display: flex; flex-wrap: wrap; gap: 6px; margin-top: 4px;
    }
    .proof-badge {
      font-size: 1rem;
      padding: 4px 10px;
      letter-spacing: 0.04em;
      border-radius: 100px;
      background: rgba(201, 168, 76, 0.1);
      color: var(--color-brand-hover);
      font-weight: 400;
    }
    .proof-badge.stock { background: rgba(220, 50, 50, 0.08); color: #b04040; }
    .proof-badge.buyers { background: rgba(46, 125, 50, 0.08); color: #2e7d32; }
    .product-actions {
      display: flex; gap: 8px;
      margin-top: 12px;
    }
    .btn-card {
      flex: 1;
      padding: 12px 14px;
      font-size: 1.1rem; font-weight: 500;
      letter-spacing: 0.16em; text-transform: uppercase;
      border-radius: var(--radius-xs);
      transition: all 0.25s var(--ease);
      border: 1px solid var(--color-text-primary);
    }
    .btn-card-cart { background: transparent; color: var(--color-text-primary); }
    .btn-card-cart:hover { background: var(--color-text-primary); color: #fff; }
    .btn-card-buy { background: var(--color-brand); color: #fff; border-color: var(--color-brand); }
    .btn-card-buy:hover { background: var(--color-brand-hover); border-color: var(--color-brand-hover); }

    /* ========== STORY (2-COL) ========== */
    .story {
      padding: var(--section-pad-y) 0;
      background: var(--primitive-cream);
    }
    .story-inner {
      max-width: var(--container-max);
      margin: 0 auto;
      padding: 0 var(--section-pad-x);
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(40px, 6vw, 96px);
      align-items: center;
    }
    .story-text { padding: 24px 0; }
    .story-text .eyebrow { margin-bottom: 24px; }
    .story-text h2 { margin-bottom: 32px; }
    .story-text p { color: var(--color-text-primary); margin-bottom: 18px; max-width: 50ch; }
    .story-features {
      display: grid; grid-template-columns: 1fr; gap: 24px;
      margin-top: 40px; padding-top: 40px;
      border-top: 1px solid var(--color-border);
    }
    .story-feature {
      display: flex; gap: 18px; align-items: flex-start;
    }
    .story-feature .feature-icon {
      flex-shrink: 0; width: 36px; height: 36px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.8rem;
      color: var(--color-brand);
    }
    .story-feature h4 {
      font-size: 1.5rem;
      font-weight: 500;
      margin-bottom: 4px;
      letter-spacing: 0.02em;
      font-family: var(--font-sans);
    }
    .story-feature p { font-size: 1.3rem; color: var(--color-text-secondary); margin: 0; }
    .story-img {
      aspect-ratio: 4/5;
      overflow: hidden;
      background: var(--primitive-cream-dark);
    }
    .story-img img { width: 100%; height: 100%; object-fit: cover; }

    /* ========== GOLDEN STEAM (DARK SECTION) ========== */
    .gs-section {
      background: var(--primitive-warm-black);
      color: #fff;
      padding: var(--section-pad-y) 0;
    }
    .gs-section .eyebrow { color: var(--primitive-gold-light); }
    .gs-section h2 { color: #fff; }
    .gs-section .section-header p { color: rgba(255,255,255,0.65); }
    .gs-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 1px;
      background: rgba(255,255,255,0.08);
      border: 1px solid rgba(255,255,255,0.08);
    }
    .gs-card {
      background: var(--primitive-charcoal);
      cursor: pointer;
      transition: background 0.3s var(--ease);
      display: flex; flex-direction: column;
    }
    .gs-card:hover { background: #353537; }
    .gs-card-img {
      aspect-ratio: 1 / 1;
      background: #fff;
      overflow: hidden;
    }
    .gs-card-img img {
      width: 100%; height: 100%;
      object-fit: contain;
      padding: 16%;
      transition: transform 0.6s var(--ease-out);
    }
    .gs-card:hover .gs-card-img img { transform: scale(1.05); }
    .gs-card-body { padding: 22px 22px 28px; }
    .gs-card-name {
      font-family: var(--font-serif);
      font-size: 1.7rem;
      font-weight: 400;
      color: #fff;
      margin-bottom: 6px;
      line-height: 1.3;
    }
    .gs-card-price {
      font-family: var(--font-sans);
      font-size: 1.35rem;
      color: var(--primitive-gold-light);
      font-variant-numeric: tabular-nums;
    }

    /* ========== FILTERS ========== */
    .filter-tabs {
      display: flex; flex-wrap: wrap; gap: 0;
      justify-content: center;
      margin-bottom: 48px;
      border-bottom: 1px solid var(--color-border);
    }
    .filter-tab {
      padding: 18px 28px;
      font-size: 1.2rem; letter-spacing: 0.18em;
      font-weight: 400; text-transform: uppercase;
      color: var(--color-text-secondary);
      cursor: pointer;
      transition: color 0.2s ease;
      border-bottom: 1px solid transparent;
      margin-bottom: -1px;
    }
    .filter-tab:hover { color: var(--color-text-primary); opacity: 1; }
    .filter-tab.active {
      color: var(--color-text-primary);
      border-bottom-color: var(--color-text-primary);
    }

    /* ========== BREED SECTION ========== */
    .breed-section { background: var(--primitive-cream); }
    .breed-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 1px;
      background: var(--card-bg-gap);
      border: 1px solid var(--card-bg-gap);
    }
    .breed-card {
      background: var(--primitive-white);
      cursor: pointer;
      transition: background 0.3s var(--ease);
      display: flex; flex-direction: column;
    }
    .breed-card:hover { background: var(--primitive-cream); }
    .breed-img-wrap {
      aspect-ratio: 1 / 1;
      background: var(--primitive-cream-dark);
      overflow: hidden;
    }
    .breed-img-wrap img {
      width: 100%; height: 100%;
      object-fit: contain;
      padding: 14%;
      transition: transform 0.6s var(--ease-out);
    }
    .breed-card:hover .breed-img-wrap img { transform: scale(1.04); }
    .breed-body { padding: 22px 22px 28px; display: flex; flex-direction: column; gap: 8px; }
    .breed-tag {
      font-size: 1rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--color-text-muted);
      font-weight: 500;
    }
    .breed-name {
      font-family: var(--font-serif);
      font-size: 1.7rem;
      font-weight: 400;
      line-height: 1.3;
      color: var(--color-text-primary);
    }
    .breed-price {
      font-size: 1.3rem;
      color: var(--color-brand);
      margin-top: 4px;
      font-variant-numeric: tabular-nums;
    }

    /* ========== REVIEWS ========== */
    .reviews { background: var(--primitive-cream); }
    .reviews-summary {
      text-align: center;
      margin-bottom: 56px;
    }
    .reviews-stars {
      font-size: 2.4rem;
      color: var(--color-brand);
      letter-spacing: 0.1em;
      margin-bottom: 6px;
    }
    .reviews-count {
      color: var(--color-text-secondary);
      font-size: 1.3rem;
      letter-spacing: 0.04em;
    }
    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 32px;
    }
    .review-card {
      background: var(--primitive-white);
      padding: 32px 28px;
      border: 1px solid var(--color-border-soft);
    }
    .review-stars { color: var(--color-brand); margin-bottom: 12px; font-size: 1.4rem; letter-spacing: 0.08em; }
    .review-text {
      font-size: 1.4rem;
      line-height: 1.85;
      margin-bottom: 18px;
      color: var(--color-text-primary);
      font-weight: 300;
    }
    .review-author {
      font-size: 1.15rem;
      color: var(--color-text-secondary);
      letter-spacing: 0.04em;
    }
    .review-author strong {
      display: block; color: var(--color-text-primary);
      font-weight: 500; margin-bottom: 2px;
    }

    /* ========== B2B PLANS ========== */
    .b2b-section { background: var(--primitive-warm-black); color: #fff; }
    .b2b-section h2 { color: #fff; }
    .b2b-section .eyebrow { color: var(--primitive-gold-light); }
    .b2b-section .section-header p { color: rgba(255,255,255,0.65); }
    .b2b-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 24px;
      margin-bottom: 48px;
    }
    .b2b-card {
      background: var(--primitive-charcoal);
      padding: 40px 32px;
      border: 1px solid rgba(255,255,255,0.1);
      transition: all 0.3s var(--ease);
      display: flex; flex-direction: column;
    }
    .b2b-card:hover { background: #353537; transform: translateY(-4px); }
    .b2b-card.featured {
      background: var(--primitive-cream);
      color: var(--color-text-primary);
      border-color: var(--color-brand);
      position: relative;
    }
    .b2b-card.featured::before {
      content: 'POPULAR';
      position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
      background: var(--color-brand); color: #fff;
      padding: 4px 16px;
      font-size: 0.95rem; letter-spacing: 0.22em;
      font-weight: 500;
    }
    .b2b-name {
      font-family: var(--font-serif);
      font-size: 2.4rem;
      font-weight: 400;
      margin-bottom: 8px;
      letter-spacing: 0.02em;
    }
    .b2b-price {
      font-family: var(--font-sans);
      font-size: 3.6rem;
      font-weight: 300;
      margin-bottom: 4px;
      font-variant-numeric: tabular-nums;
      color: var(--primitive-gold-light);
    }
    .b2b-card.featured .b2b-price { color: var(--color-brand); }
    .b2b-period {
      font-size: 1.2rem; letter-spacing: 0.18em; text-transform: uppercase;
      color: rgba(255,255,255,0.5);
      margin-bottom: 28px; font-weight: 300;
    }
    .b2b-card.featured .b2b-period { color: var(--color-text-secondary); }
    .b2b-features {
      list-style: none;
      margin: 0; padding: 28px 0;
      border-top: 1px solid rgba(255,255,255,0.1);
      flex: 1;
    }
    .b2b-card.featured .b2b-features { border-top-color: var(--color-border); }
    .b2b-features li {
      padding: 10px 0;
      font-size: 1.3rem;
      color: rgba(255,255,255,0.85);
      line-height: 1.6;
      display: flex; gap: 12px; align-items: flex-start;
    }
    .b2b-card.featured .b2b-features li { color: var(--color-text-primary); }
    .b2b-features li::before {
      content: '—';
      color: var(--primitive-gold-light);
      flex-shrink: 0;
    }
    .b2b-card.featured .b2b-features li::before { color: var(--color-brand); }

    /* ========== FAQ ========== */
    .faq { background: var(--primitive-cream); }
    .faq-list {
      max-width: 880px;
      margin: 0 auto;
    }
    .faq-item {
      border-bottom: 1px solid var(--color-border);
    }
    .faq-q {
      width: 100%; text-align: left;
      padding: 28px 0;
      display: flex; justify-content: space-between; align-items: center; gap: 24px;
      font-family: var(--font-serif);
      font-size: 1.9rem;
      font-weight: 400;
      color: var(--color-text-primary);
      letter-spacing: 0.01em;
      transition: color 0.2s ease;
    }
    .faq-q:hover { color: var(--color-brand); opacity: 1; }
    .faq-icon {
      flex-shrink: 0;
      width: 24px; height: 24px;
      position: relative;
    }
    .faq-icon::before, .faq-icon::after {
      content: ''; position: absolute;
      background: var(--color-brand);
      transition: transform 0.3s var(--ease);
    }
    .faq-icon::before { top: 50%; left: 0; right: 0; height: 1px; transform: translateY(-50%); }
    .faq-icon::after { left: 50%; top: 0; bottom: 0; width: 1px; transform: translateX(-50%); }
    .faq-item.open .faq-icon::after { transform: translateX(-50%) rotate(90deg); }
    .faq-a {
      max-height: 0; overflow: hidden;
      transition: max-height 0.4s var(--ease);
    }
    .faq-item.open .faq-a { max-height: 500px; }
    .faq-a-inner {
      padding: 0 0 28px;
      font-size: 1.4rem;
      line-height: 1.85;
      color: var(--color-text-secondary);
      font-weight: 300;
      max-width: 70ch;
    }

    /* ========== INSTAGRAM ========== */
    .insta-section { background: var(--primitive-cream); padding-bottom: 80px; }
    .insta-grid {
      display: grid;
      grid-template-columns: repeat(6, 1fr);
      gap: 2px;
      background: var(--color-border);
      border: 1px solid var(--color-border);
    }
    .insta-cell {
      aspect-ratio: 1/1;
      background: var(--primitive-cream-dark);
      overflow: hidden;
      cursor: pointer;
      position: relative;
    }
    .insta-cell img {
      width: 100%; height: 100%;
      object-fit: contain;
      padding: 18%;
      transition: transform 0.5s var(--ease-out);
    }
    .insta-cell:hover img { transform: scale(1.06); }

    /* ========== FOOTER ========== */
    .site-footer {
      background: var(--primitive-warm-black);
      color: rgba(255,255,255,0.7);
      padding: 80px 0 40px;
    }
    .footer-grid {
      max-width: var(--container-max);
      margin: 0 auto;
      padding: 0 var(--section-pad-x);
      display: grid;
      grid-template-columns: 1.5fr 1fr 1fr 1fr;
      gap: 48px;
      margin-bottom: 56px;
    }
    .footer-brand .logo-name { color: #fff; font-size: 2.4rem; }
    .footer-brand .logo-tag { color: var(--primitive-gold-light); }
    .footer-desc {
      font-size: 1.25rem;
      line-height: 1.85;
      margin-top: 18px;
      max-width: 36ch;
      color: rgba(255,255,255,0.6);
    }
    .footer-col h4 {
      font-family: var(--font-sans);
      font-size: 1.15rem;
      font-weight: 500;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.5);
      margin-bottom: 20px;
    }
    .footer-col a {
      display: block;
      padding: 6px 0;
      font-size: 1.3rem;
      color: rgba(255,255,255,0.78);
      font-weight: 300;
    }
    .footer-bottom {
      max-width: var(--container-max);
      margin: 0 auto;
      padding: 28px var(--section-pad-x) 0;
      border-top: 1px solid rgba(255,255,255,0.1);
      display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
      gap: 16px;
      font-size: 1.1rem;
      color: rgba(255,255,255,0.4);
      letter-spacing: 0.04em;
    }

    /* ========== DETAIL MODAL ========== */
    .detail-modal {
      position: fixed; inset: 0;
      background: rgba(28,28,30,0.6);
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      z-index: 1000;
      opacity: 0; pointer-events: none;
      transition: opacity 0.35s var(--ease);
      display: flex; align-items: stretch; justify-content: center;
      padding: 0;
    }
    .detail-modal.open { opacity: 1; pointer-events: auto; }
    .detail-content {
      background: var(--primitive-cream);
      width: 100%;
      max-width: 1200px;
      max-height: 96vh;
      margin: auto;
      overflow-y: auto;
      position: relative;
      transform: translateY(40px);
      transition: transform 0.4s var(--ease);
      display: grid;
      grid-template-columns: 1.1fr 1fr;
      gap: 0;
    }
    .detail-modal.open .detail-content { transform: translateY(0); }
    .detail-close {
      position: absolute; top: 20px; right: 20px;
      width: 44px; height: 44px;
      display: flex; align-items: center; justify-content: center;
      background: rgba(255,255,255,0.85);
      backdrop-filter: blur(8px);
      border-radius: 50%;
      z-index: 10;
      font-size: 2rem;
      transition: all 0.2s ease;
    }
    .detail-close:hover { background: #fff; opacity: 1; }
    .detail-image-col {
      background: var(--primitive-cream-dark);
      padding: 0;
      position: sticky; top: 0;
      align-self: start;
    }
    .detail-main-img-wrap {
      aspect-ratio: 1 / 1;
      display: flex; align-items: center; justify-content: center;
      padding: 40px;
    }
    .detail-main-img-wrap img {
      max-width: 100%; max-height: 100%;
      object-fit: contain;
    }
    .detail-thumbs {
      display: flex; gap: 8px;
      padding: 12px 24px 20px;
      overflow-x: auto;
      scrollbar-width: thin;
    }
    .detail-thumb {
      flex-shrink: 0;
      width: 64px; height: 64px;
      background: var(--primitive-white);
      cursor: pointer;
      border: 1px solid var(--color-border);
      transition: border-color 0.2s ease;
      padding: 6px;
    }
    .detail-thumb img { width: 100%; height: 100%; object-fit: contain; }
    .detail-thumb.active { border-color: var(--color-text-primary); }
    .detail-info-col {
      padding: 56px 48px;
      display: flex; flex-direction: column;
    }
    .detail-cat { margin-bottom: 12px; }
    .detail-rating { font-size: 1.2rem; color: var(--color-text-secondary); margin-bottom: 16px; }
    .detail-rating span { color: var(--color-brand); }
    .detail-name {
      font-family: var(--font-serif);
      font-size: clamp(2.6rem, 3.5vw, 3.6rem);
      font-weight: 400;
      letter-spacing: 0.01em;
      line-height: 1.2;
      margin-bottom: 24px;
    }
    .detail-price {
      font-family: var(--font-sans);
      font-size: 2.8rem;
      font-weight: 400;
      color: var(--color-text-primary);
      font-variant-numeric: tabular-nums;
      margin-bottom: 28px;
    }
    .detail-size-block {
      margin-bottom: 28px;
    }
    .detail-size-block .label {
      font-size: 1.1rem; letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--color-text-secondary);
      margin-bottom: 12px;
      font-weight: 500;
    }
    .detail-size-options {
      display: flex; flex-wrap: wrap; gap: 8px;
    }
    .detail-size-opt {
      padding: 10px 16px;
      font-size: 1.2rem;
      font-weight: 400;
      letter-spacing: 0.04em;
      background: transparent;
      border: 1px solid var(--color-border);
      color: var(--color-text-primary);
      cursor: pointer;
      transition: all 0.2s ease;
      line-height: 1.3;
      border-radius: var(--radius-xs);
      text-align: center;
      min-width: 90px;
    }
    .detail-size-opt:hover { border-color: var(--color-text-primary); }
    .detail-size-opt.active {
      background: var(--color-text-primary);
      color: #fff;
      border-color: var(--color-text-primary);
    }
    .detail-section {
      padding: 24px 0;
      border-top: 1px solid var(--color-border);
    }
    .detail-section h4 {
      font-size: 1.1rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--color-text-secondary);
      margin-bottom: 12px;
      font-weight: 500;
      font-family: var(--font-sans);
    }
    .detail-section p {
      font-size: 1.4rem;
      line-height: 1.85;
      color: var(--color-text-primary);
      font-weight: 300;
    }
    .detail-actions {
      display: flex; flex-direction: column; gap: 10px;
      margin-top: 28px;
    }
    .detail-actions button { width: 100%; }

    /* ========== CHECKOUT MODAL ========== */
    .checkout-modal {
      position: fixed; inset: 0;
      background: rgba(28,28,30,0.65);
      backdrop-filter: blur(6px);
      -webkit-backdrop-filter: blur(6px);
      z-index: 1100;
      opacity: 0; pointer-events: none;
      transition: opacity 0.35s var(--ease);
      display: flex; align-items: center; justify-content: center;
      padding: 20px;
    }
    .checkout-modal.open { opacity: 1; pointer-events: auto; }
    .checkout-content {
      background: var(--primitive-cream);
      max-width: 560px;
      width: 100%;
      max-height: 92vh;
      overflow-y: auto;
      position: relative;
      transform: translateY(30px);
      transition: transform 0.4s var(--ease);
    }
    .checkout-modal.open .checkout-content { transform: translateY(0); }
    .checkout-close {
      position: absolute; top: 16px; right: 16px;
      width: 38px; height: 38px;
      display: flex; align-items: center; justify-content: center;
      background: rgba(255,255,255,0.85);
      border-radius: 50%;
      z-index: 10;
      font-size: 1.8rem;
    }
    .checkout-product-summary {
      padding: 28px 32px;
      display: flex; gap: 16px; align-items: center;
      background: var(--primitive-cream-dark);
      border-bottom: 1px solid var(--color-border);
    }
    .checkout-product-summary img {
      width: 72px; height: 72px;
      object-fit: contain; padding: 8px;
      background: #fff;
      flex-shrink: 0;
    }
    .checkout-product-info { flex: 1; min-width: 0; }
    .checkout-product-info .name { font-family: var(--font-serif); font-size: 1.6rem; font-weight: 400; line-height: 1.3; }
    .checkout-product-info .variant { font-size: 1.15rem; color: var(--color-text-secondary); margin-top: 2px; }
    .checkout-product-info .price {
      font-size: 1.5rem; font-weight: 500; margin-top: 4px;
      font-variant-numeric: tabular-nums;
    }
    .checkout-header-total { margin-top: 5px; color: var(--color-brand-hover); font-size: 1.15rem; font-weight: 500; line-height: 1.45; }
    .checkout-progress { display:grid; grid-template-columns:1fr 1fr; background:var(--primitive-white); border-bottom:1px solid var(--color-border); }
    .checkout-progress span { padding:12px 16px; text-align:center; color:var(--color-text-secondary); font-size:1.05rem; letter-spacing:.08em; }
    .checkout-progress span:first-child { border-right:1px solid var(--color-border); }
    .checkout-progress strong { color:var(--color-text-primary); font-weight:600; }
    .checkout-form { padding: 28px 32px; }
    .form-step {
      font-size: 1.05rem;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--color-text-secondary);
      margin-bottom: 16px;
      font-weight: 500;
    }
    .form-row { margin-bottom: 14px; }
    .form-row label {
      display: block;
      font-size: 1.15rem;
      color: var(--color-text-secondary);
      margin-bottom: 6px;
      font-weight: 400;
    }
    .form-row input {
      width: 100%;
      padding: 12px 14px;
      background: var(--primitive-white);
      border: 1px solid var(--color-border);
      border-radius: var(--radius-xs);
      font-size: 1.4rem;
      transition: border-color 0.2s ease;
    }
    .form-row input:focus { outline:none; border-color:var(--color-text-primary); box-shadow:0 0 0 3px rgba(154,125,46,.12); }
    .form-row input[aria-invalid="true"] { border-color:#a33a32; box-shadow:0 0 0 3px rgba(163,58,50,.09); }
    .form-error { display:block; margin-top:5px; color:#a33a32; font-size:1.1rem; line-height:1.5; }
    .postal-input-wrapper { display: grid; gap: 5px; }
    .form-hint, .postal-status { display: block; font-size: 1.1rem; line-height: 1.5; color: var(--color-text-secondary); }
    .postal-status[data-state="loading"] { color: var(--color-brand-hover); }
    .postal-status[data-state="success"] { color: #2f6f45; font-weight: 500; }
    .postal-status[data-state="error"] { color: #a33a32; font-weight: 500; }
    .postal-candidates { display:grid; gap:7px; margin-top:5px; }
    .postal-candidate { width:100%; padding:11px 12px; border:1px solid var(--color-border); background:var(--primitive-white); color:var(--color-text-primary); text-align:left; font:inherit; font-size:1.2rem; line-height:1.5; cursor:pointer; }
    .postal-candidate:hover, .postal-candidate:focus-visible { border-color:var(--color-brand-hover); background:var(--primitive-cream-dark); outline:none; }
    .form-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .form-divider {
      margin: 28px 0 20px;
      height: 1px; background: var(--color-border);
    }
    #square-card-container {
      padding: 4px 0;
      min-height: 60px;
      margin-bottom: 16px;
    }
    .payment-loading {
      min-height: 60px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      margin-bottom: 12px;
      border: 1px solid var(--color-border);
      background: var(--primitive-white);
      color: var(--color-text-secondary);
      font-size: 1.15rem;
    }
    .payment-loading[hidden] { display: none; }
    .payment-loading__spinner {
      width: 18px;
      height: 18px;
      border: 2px solid var(--color-border);
      border-top-color: var(--color-brand-hover);
      border-radius: 50%;
      animation: payment-spin .8s linear infinite;
    }
    @keyframes payment-spin { to { transform: rotate(360deg); } }
    .payment-retry {
      width: 100%;
      min-height: 48px;
      margin: 0 0 14px;
      border: 1px solid var(--color-text-primary);
      background: var(--primitive-white);
      color: var(--color-text-primary);
      font: inherit;
      font-size: 1.2rem;
      cursor: pointer;
    }
    .payment-retry[hidden] { display: none; }
    .payment-retry:focus-visible { outline: 2px solid var(--color-brand-hover); outline-offset: 3px; }
    .apple-pay-button {
      display: none;
      width: 100%;
      height: 52px;
      margin: 0 0 16px;
      padding: 0;
      border: 0;
      border-radius: 6px;
      cursor: pointer;
      -webkit-appearance: -apple-pay-button;
      -apple-pay-button-type: buy;
      -apple-pay-button-style: black;
    }
    .google-pay-button {
      display: none;
      width: 100%;
      min-height: 48px;
      margin: 0 0 12px;
      overflow: hidden;
    }
    .google-pay-button > div,
    .google-pay-button button { width: 100% !important; }
    .wallet-label { display: none; }
    .wallet-divider {
      display: none;
      align-items: center;
      gap: 14px;
      margin: 2px 0 16px;
      color: var(--color-text-secondary);
      font-size: 1.05rem;
      letter-spacing: .08em;
      text-transform: uppercase;
    }
    .wallet-divider::before,
    .wallet-divider::after { content: ''; flex: 1; height: 1px; background: var(--color-border); }
    .payment-method-label {
      margin: 0 0 10px;
      color: var(--color-text-secondary);
      font-size: 1.05rem;
      font-weight: 500;
      letter-spacing: .14em;
      text-transform: uppercase;
    }
    #demo-card-fields {
      display: none;
      margin-bottom: 16px;
    }
    #demo-card-fields .form-row { margin-bottom: 12px; }
    .secure-pay-note {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 10px 14px;
      margin-bottom: 14px;
      background: var(--primitive-cream-dark);
      border-radius: var(--radius-xs);
      font-size: 1.15rem;
      color: var(--color-text-secondary);
      letter-spacing: 0.04em;
    }
    .secure-pay-note .lock { font-size: 1.3rem; }
    .checkout-total {
      display: flex; justify-content: space-between; align-items: baseline;
      padding: 18px 0;
      border-top: 1px solid var(--color-border);
      margin-bottom: 16px;
    }
    .checkout-total .label { font-size: 1.15rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--color-text-secondary); font-weight: 500; }
    .checkout-total .amount { font-size: 2.4rem; font-weight: 500; font-variant-numeric: tabular-nums; }
    .checkout-shipping-message {
      margin: 14px 0 8px;
      padding: 10px 12px;
      color: var(--color-brand-hover);
      background: var(--primitive-gold-muted);
      font-size: 1.15rem;
      font-weight: 500;
      text-align: center;
    }
    .checkout-costs { margin: 0 0 16px; border-top: 1px solid var(--color-border); }
    .checkout-costs > div { display: flex; justify-content: space-between; align-items: baseline; padding: 9px 0; }
    .checkout-costs > div .label { color: var(--color-text-secondary); font-size: 1.1rem; letter-spacing: .08em; }
    .checkout-costs > div .amount { font-size: 1.35rem; font-weight: 500; font-variant-numeric: tabular-nums; }
    .checkout-costs .checkout-total { margin: 0; padding: 14px 0 0; border-top: 1px solid var(--color-border); }
    .checkout-costs .checkout-total .amount { font-size: 2.4rem; }
    #modal-pay-error {
      display: none;
      padding: 12px 14px;
      background: rgba(220, 50, 50, 0.08);
      color: #b04040;
      font-size: 1.2rem;
      border-radius: var(--radius-xs);
      margin-bottom: 12px;
    }
    .modal-success {
      display: none;
      padding: 60px 32px;
      text-align: center;
      flex-direction: column;
      align-items: center;
      gap: 18px;
    }
    .modal-success .check-circle {
      width: 80px; height: 80px;
      border-radius: 50%;
      background: var(--color-brand);
      color: #fff;
      display: flex; align-items: center; justify-content: center;
      font-size: 3.6rem;
      margin-bottom: 12px;
    }
    .modal-success h3 {
      font-family: var(--font-serif);
      font-size: 2.8rem; font-weight: 400;
    }
    .modal-success p { color: var(--color-text-secondary); font-size: 1.4rem; line-height: 1.8; max-width: 36ch; }

    /* ========== CART DRAWER ========== */
    .cart-backdrop {
      position: fixed; inset: 0;
      background: rgba(28,28,30,0.55);
      backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      z-index: 999;
      opacity: 0; pointer-events: none;
      transition: opacity 0.3s ease;
    }
    .cart-backdrop.open { opacity: 1; pointer-events: auto; }
    .cart-drawer {
      position: fixed; top: 0; right: 0; bottom: 0;
      width: min(440px, 100%);
      background: var(--primitive-cream);
      transform: translateX(100%);
      transition: transform 0.4s var(--ease);
      z-index: 1000;
      display: flex; flex-direction: column;
    }
    .cart-drawer.open { transform: translateX(0); }
    .cart-header {
      padding: 24px 28px;
      display: flex; justify-content: space-between; align-items: center;
      border-bottom: 1px solid var(--color-border);
    }
    .cart-header h3 {
      font-family: var(--font-serif);
      font-size: 2.2rem; font-weight: 400;
    }
    .cart-shipping-bar {
      padding: 18px 28px;
      background: var(--primitive-gold-muted);
      border-bottom: 1px solid var(--color-border);
    }
    .cart-shipping-bar .ship-msg {
      font-size: 1.2rem; color: var(--color-text-primary);
      margin-bottom: 8px;
    }
    .ship-track {
      height: 4px;
      background: rgba(0,0,0,0.05);
      border-radius: 2px;
      overflow: hidden;
    }
    #ship-bar {
      height: 100%; width: 0%;
      background: var(--color-brand);
      transition: width 0.5s var(--ease);
    }
    .cart-items {
      flex: 1;
      overflow-y: auto;
      padding: 8px 0;
    }
    .cart-empty {
      padding: 80px 32px;
      text-align: center;
      color: var(--color-text-secondary);
      font-size: 1.4rem;
    }
    .cart-item {
      padding: 20px 28px;
      display: flex; gap: 14px; align-items: flex-start;
      border-bottom: 1px solid var(--color-border-soft);
    }
    .cart-item-img {
      width: 72px; height: 72px;
      object-fit: contain; padding: 6px;
      background: var(--primitive-white);
      flex-shrink: 0;
    }
    .cart-item-info { flex: 1; min-width: 0; }
    .cart-item-name {
      font-family: var(--font-serif);
      font-size: 1.5rem;
      font-weight: 400;
      line-height: 1.3;
      margin-bottom: 4px;
    }
    .cart-item-variant { font-size: 1.1rem; color: var(--color-text-secondary); margin-bottom: 4px; }
    .cart-item-price { font-size: 1.3rem; font-weight: 500; font-variant-numeric: tabular-nums; }
    .cart-item-qty {
      display: inline-flex; align-items: center; gap: 0;
      margin-top: 10px;
      border: 1px solid var(--color-border);
    }
    .qty-btn {
      width: 28px; height: 28px;
      display: inline-flex; align-items: center; justify-content: center;
      background: transparent;
      cursor: pointer;
      transition: background 0.15s ease;
    }
    .qty-btn:hover { background: var(--primitive-cream-dark); }
    .qty-val {
      min-width: 32px;
      text-align: center;
      font-size: 1.2rem;
      font-variant-numeric: tabular-nums;
    }
    .cart-item-remove {
      width: 28px; height: 28px;
      display: flex; align-items: center; justify-content: center;
      font-size: 1.6rem;
      color: var(--color-text-muted);
      transition: color 0.15s ease;
    }
    .cart-item-remove:hover { color: var(--color-text-primary); opacity: 1; }
    .cart-footer {
      padding: 20px 28px 28px;
      border-top: 1px solid var(--color-border);
      background: var(--primitive-white);
    }
    .cart-subtotal {
      display: flex; justify-content: space-between; align-items: baseline;
      margin-bottom: 16px;
    }
    .cart-subtotal .label { font-size: 1.2rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--color-text-secondary); font-weight: 500; }
    .cart-subtotal .amount { font-size: 2.2rem; font-weight: 500; font-variant-numeric: tabular-nums; }
    .cart-shipping-row { margin-bottom: 10px; }
    .cart-shipping-row .amount { font-size: 1.4rem; }
    .cart-total-row { padding-top: 14px; border-top: 1px solid var(--color-border); }

    /* ========== TOAST ========== */
    .toast {
      position: fixed; top: 90px; left: 50%;
      transform: translate(-50%, -10px);
      background: var(--primitive-warm-black); color: #fff;
      padding: 14px 28px;
      font-size: 1.3rem;
      letter-spacing: 0.04em;
      z-index: 2000;
      opacity: 0;
      pointer-events: none;
      transition: all 0.3s var(--ease);
      border-radius: var(--radius-xs);
    }
    .toast.show { opacity: 1; transform: translate(-50%, 0); }

    .purchase-toast {
      position: fixed; bottom: 24px; left: 24px;
      background: var(--primitive-white);
      padding: 14px 18px;
      border: 1px solid var(--color-border);
      box-shadow: 0 8px 32px rgba(28,28,30,0.08);
      z-index: 90;
      transform: translateX(-120%);
      transition: transform 0.5s var(--ease);
      max-width: 280px;
      font-size: 1.2rem;
      line-height: 1.5;
      border-radius: var(--radius-xs);
    }
    .purchase-toast strong { font-weight: 500; }
    .purchase-toast small { color: var(--color-text-secondary); display: block; margin-top: 2px; font-size: 1rem; letter-spacing: 0.04em; }

    /* ========== ANIMATIONS ========== */
    .fade-in {
      opacity: 0;
      transform: translateY(14px);
      transition: opacity 0.45s ease, transform 0.45s ease;
      will-change: opacity, transform;
    }
    .fade-in.visible {
      opacity: 1;
      transform: translateY(0);
    }

    /* ========== RESPONSIVE ========== */
    @media (max-width: 1024px) {
      .footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
      .insta-grid { grid-template-columns: repeat(4, 1fr); }
      .detail-content { grid-template-columns: 1fr; }
      .detail-image-col { position: static; }
    }
    @media (max-width: 768px) {
      :root { --nav-height: 64px; }
      .nav-main { display: none; }
      .nav-actions .desktop-only { display: none; }
      .hamburger { display: flex; }
      .header-inner { grid-template-columns: 1fr auto; }
      .nav-actions { gap: 4px; }
      .logo-tag { font-size: 0.85rem; }
      .logo-name { font-size: 1.9rem; }

      .hero { height: 780px; min-height: 780px; max-height: none; }
      .hero-content { height: auto; min-height: 450px; justify-content: flex-start; padding-top: 72px; }
      .hero h1 { max-width: 11em; font-size: clamp(3.25rem, 8.8vw, 4rem); margin-bottom: 24px; }
      .hero p.hero-sub { max-width: 33ch; margin-bottom: 30px; }
      .hero-bg { inset: 43% 0 0 0; background-size: 106%; background-position: center 62%; }
      .hero::before { background: linear-gradient(180deg, #F2EFE8 0%, #F2EFE8 47%, rgba(242,239,232,.7) 57%, rgba(242,239,232,0) 76%); }
      .hero-scroll { display: none; }
      .trustbar-inner { grid-template-columns: 1fr 1fr; gap: 14px; }
      .trust-item { font-size: 1.15rem; }

      .product-grid { grid-template-columns: repeat(2, 1fr); }
      .product-body { padding: 18px 14px 22px; }
      .product-name { font-size: 1.4rem; }
      .product-desc { display: none; }
      .product-actions { flex-direction: column; gap: 6px; }
      .btn-card { padding: 10px 12px; font-size: 1rem; }

      .story-inner { grid-template-columns: 1fr; gap: 32px; }
      .story-img { aspect-ratio: 1/1; max-width: 100%; }

      .gs-grid, .breed-grid { grid-template-columns: repeat(2, 1fr); }

      .reviews-grid { grid-template-columns: 1fr; }
      .b2b-grid { grid-template-columns: 1fr; gap: 16px; }

      .filter-tab { padding: 14px 18px; font-size: 1.1rem; letter-spacing: 0.14em; }

      .insta-grid { grid-template-columns: repeat(3, 1fr); }

      .footer-grid { grid-template-columns: 1fr; gap: 32px; padding-bottom: 0; margin-bottom: 32px; }
      .footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }

      .detail-info-col { padding: 32px 24px; }
      .detail-name { font-size: 2.4rem; }
      .detail-price { font-size: 2.2rem; }
      .detail-main-img-wrap { padding: 24px; }

      .checkout-content { max-height:100vh; max-height:100dvh; }
      .checkout-form { padding:20px 20px calc(28px + env(safe-area-inset-bottom)); }
      .form-grid-2 { grid-template-columns: 1fr; }
      .checkout-modal { padding: 0; }
      .checkout-product-summary { min-height: 116px; padding: 18px 66px 18px 18px; gap: 12px; align-items: flex-start; }
      .checkout-product-summary img { width: 66px; height: 66px; padding: 6px; }
      .checkout-product-info .name { font-size: 1.45rem; line-height: 1.25; }
      .checkout-product-info .price { font-size: 1.25rem; }
      .checkout-header-total { font-size: 1.05rem; }
      .checkout-close { top:calc(10px + env(safe-area-inset-top)); right:14px; width:44px; height:44px; }
      .checkout-progress { position:sticky; top:0; z-index:6; }
      .checkout-progress span { padding:10px 8px; font-size:1rem; }

      .cart-drawer { width: 100%; }

      .h-section { font-size: clamp(2.8rem, 7vw, 4rem); }

      .purchase-toast { left: 12px; right: 12px; max-width: none; bottom: 12px; }
    }

    @media (max-width: 480px) {
      .product-grid { grid-template-columns: 1fr; }
      .gs-grid, .breed-grid { grid-template-columns: 1fr; }
    }

    /* Reduce motion */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
    }
/* V1: readable cart variant; totals and checkout logic are unchanged. */
#cart-drawer .cart-item-variant{color:#625950;font:400 12px/1.6 var(--sans);font-variant-numeric:tabular-nums}


/* SOURCE: guide.css */
.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:12px 18px;background:#191919;color:#fff}.skip-link:focus{top:12px}
:root {
  --paper:#F7F5F0; --white:#FFFFFF; --mist:#EEEAE2; --ink:#282828;
  --muted:#6D6A64; --line:#D8D3CA; --gold:#715934; --dark:#191919;
  --dreamy-jp-serif:'Yu Mincho','Hiragino Mincho ProN','Hiragino Mincho Pro','Noto Serif JP','Noto Serif CJK JP',Georgia,serif;
  --dreamy-jp-sans:'DM Sans',-apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Yu Gothic','Noto Sans JP','Noto Sans CJK JP',system-ui,sans-serif;
  --serif:'Cormorant Garamond',var(--dreamy-jp-serif);
  --sans:var(--dreamy-jp-sans);
  --font-serif:var(--serif);
  --font-sans:var(--sans);
  --pad:clamp(22px,5vw,72px); --max:1360px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{width:100%;max-width:100%;overflow-x:hidden}
@supports (overflow:clip){html,body{overflow-x:clip}}
html{font-size:62.5%;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.5rem;font-weight:300;line-height:1.85;-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums proportional-nums;font-feature-settings:'lnum' 1,'pnum' 1}
a{color:inherit;text-decoration:none}img{display:block;max-width:100%;height:auto}button{font:inherit}
.price,.guide-product-price,.metric strong,.article-number,.step-num,.pdp-price,.variant-button small,.cart-badge,.guide-cart span{font-family:var(--sans);font-variant-numeric:lining-nums tabular-nums;font-feature-settings:'lnum' 1,'tnum' 1}
.guide-header{height:72px;position:sticky;top:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 var(--pad);background:rgba(247,245,240,.94);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.guide-logo{display:flex;flex-direction:column;line-height:1}.guide-logo strong{font-family:var(--serif);font-size:2.25rem;font-weight:400;letter-spacing:.16em}.guide-logo span{margin-top:5px;color:var(--muted);font-size:.9rem;letter-spacing:.18em;text-transform:uppercase}
.guide-nav{display:flex;gap:clamp(20px,3vw,44px);font-size:1.15rem;font-weight:500;letter-spacing:.12em}.guide-nav a,.guide-cart{transition:opacity .2s}.guide-nav a:hover,.guide-cart:hover{opacity:.55}.guide-cart{justify-self:end;position:relative;display:inline-flex;align-items:center;font-size:1.1rem;font-weight:500;letter-spacing:.16em}.guide-cart span,.guide-cart .cart-badge{position:static;inset:auto;display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 5px;border-radius:50%;background:var(--ink);color:#fff;font-size:.95rem}
.guide-mobile-nav,.guide-menu{display:none}
.page-hero{min-height:min(720px,calc(100vh - 72px));display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--white)}
.page-hero-media{position:relative;min-height:520px;background:var(--mist);overflow:hidden}.page-hero-media img{width:100%;height:100%;object-fit:contain;padding:clamp(24px,5vw,76px)}.page-hero-media .image-note{position:absolute;left:20px;bottom:16px;color:var(--muted);font-size:1rem;letter-spacing:.08em}
.page-hero-copy{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,120px) var(--pad)}
.kicker{color:var(--gold);font-size:1.1rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase}.page-hero h1{max-width:15ch;margin:22px 0 28px;font-family:var(--serif);font-size:clamp(4.6rem,5.8vw,7.4rem);font-weight:300;line-height:1.08;letter-spacing:.01em;white-space:pre-line;word-break:keep-all}.page-hero-copy>p{max-width:39ch;color:var(--muted);font-size:clamp(1.5rem,1.7vw,1.85rem);white-space:pre-line}
.page-hero.text-only{grid-template-columns:1fr;min-height:560px}.page-hero.text-only .page-hero-media{display:none}.page-hero.text-only .page-hero-copy{width:min(100%,920px);min-height:560px;margin:0 auto;text-align:center}.page-hero.text-only .page-hero-copy>p{margin-inline:auto}.page-hero.text-only .hero-actions{justify-content:center}
.hero-actions,.section-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:13px 28px;border:1px solid var(--ink);font-size:1.15rem;font-weight:500;letter-spacing:.12em;transition:.2s}.button.primary{background:var(--ink);color:#fff}.button:hover{background:var(--gold);border-color:var(--gold);color:#fff}.button.light{border-color:var(--line);background:var(--white)}
.page-section{padding:clamp(72px,9vw,136px) var(--pad);border-top:1px solid var(--line)}.page-section.alt{background:var(--white)}.section-inner{max-width:var(--max);margin:0 auto}.section-heading{max-width:760px;margin-bottom:clamp(40px,6vw,74px)}.section-heading .kicker{display:block;margin-bottom:16px}.section-heading h2{font-family:var(--serif);font-size:clamp(3.6rem,5.6vw,6.4rem);font-weight:300;line-height:1.08;white-space:pre-line}.section-heading p{max-width:58ch;margin-top:20px;color:var(--muted);white-space:pre-line}
.card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.card-grid.cards-1{grid-template-columns:1fr}.card-grid.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.info-card{min-height:260px;padding:clamp(25px,3vw,42px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}.info-card .number{display:block;margin-bottom:50px;color:var(--gold);font-family:var(--serif);font-size:2.4rem}.info-card h3{font-family:var(--serif);font-size:2.7rem;font-weight:400;line-height:1.18}.info-card p{margin-top:16px;color:var(--muted);white-space:pre-line}.info-card .text-link{display:inline-block;margin-top:22px;padding-bottom:3px;border-bottom:1px solid var(--gold);color:var(--gold);font-size:1.15rem;font-weight:500;letter-spacing:.08em}
.compare{border-top:1px solid var(--line)}.compare-row{display:grid;grid-template-columns:minmax(180px,.85fr) minmax(150px,.75fr) 2fr;gap:28px;padding:24px 4px;border-bottom:1px solid var(--line);align-items:start}.compare-row strong{font-family:var(--serif);font-size:2rem;font-weight:400}.compare-row span{color:var(--gold);font-size:1.2rem;font-weight:500;letter-spacing:.08em}.compare-row p{color:var(--muted)}
.product-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}.guide-product{display:flex;flex-direction:column;background:var(--white)}.guide-product-media{aspect-ratio:1/1;display:grid;place-items:center;background:#FAFAF7;overflow:hidden}.guide-product-media img{width:100%;height:100%;object-fit:contain;padding:20px}.product-placeholder{display:grid;place-items:center;width:100%;height:100%;color:var(--muted);font-size:1.15rem;letter-spacing:.12em}.guide-product-body{display:flex;flex:1;flex-direction:column;padding:24px}.guide-product-body small{color:var(--gold);font-size:1rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.guide-product-body h3{margin:10px 0;font-family:var(--serif);font-size:2.15rem;font-weight:400;line-height:1.2}.guide-product-body p{color:var(--muted);font-size:1.25rem}.guide-product-price{margin-top:auto!important;padding-top:20px;color:var(--ink)!important;font-size:1.55rem!important;font-weight:500}.guide-product-link{display:block;margin:20px 24px 24px;padding:12px;border:1px solid var(--ink);text-align:center;font-size:1.1rem;font-weight:500;letter-spacing:.1em;transition:.2s}.guide-product-link:hover{background:var(--ink);color:#fff}
.method-line{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line)}.method-step{position:relative;min-height:250px;padding:30px 22px;background:var(--white);border-right:1px solid var(--line)}.method-step:last-child{border-right:0}.method-step b{color:var(--gold);font-family:var(--serif);font-size:2.4rem;font-weight:400}.method-step h3{margin:36px 0 14px;font-family:var(--serif);font-size:2.3rem;font-weight:400}.method-step p{color:var(--muted);font-size:1.2rem}
.faq-list{max-width:900px;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;justify-content:space-between;gap:24px;padding:24px 0;cursor:pointer;font-family:var(--serif);font-size:2.2rem;list-style:none}summary::after{content:'+';font-family:var(--sans);font-weight:300}details[open] summary::after{content:'−'}details>p{max-width:70ch;padding:0 0 28px;color:var(--muted)}
.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.contact-card{padding:clamp(34px,5vw,72px);background:var(--white)}.contact-card h3{font-family:var(--serif);font-size:3.2rem;font-weight:300}.contact-card p{margin:18px 0;color:var(--muted)}
.final-cta{padding:clamp(80px,11vw,160px) var(--pad);background:var(--dark);color:#fff;text-align:center}.final-cta .kicker{color:#CDBB96}.final-cta h2{max-width:18ch;margin:20px auto;font-family:var(--serif);font-size:clamp(4rem,6vw,7rem);font-weight:300;line-height:1.05}.final-cta p{max-width:48ch;margin:auto;color:#C8C5BF}.final-cta .hero-actions{justify-content:center}.final-cta .button{border-color:#fff;color:#fff}.final-cta .button.primary{background:#fff;color:var(--dark)}
.guide-footer{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:48px;padding:72px var(--pad) 32px;background:#111;color:#fff}.guide-footer-brand strong{font-family:var(--serif);font-size:3rem;font-weight:400;letter-spacing:.15em}.guide-footer-brand p{max-width:36ch;margin-top:16px;color:#999}.guide-footer h2{margin-bottom:18px;color:#AAA;font-size:1rem;letter-spacing:.18em}.guide-footer a{display:block;margin:10px 0;color:#D2D2D2;font-size:1.2rem}.guide-footer-copy{grid-column:1/-1;padding-top:28px;border-top:1px solid #333;color:#888;font-size:1rem}
.error-page{min-height:70vh;display:grid;place-items:center;padding:var(--pad);text-align:center}.error-page h1{font-family:var(--serif);font-size:5rem;font-weight:300}
.page-breadcrumb{display:flex;align-items:center;gap:12px;min-height:46px;padding:0 var(--pad);border-bottom:1px solid var(--line);background:var(--paper);color:var(--muted);font-size:1rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase}.page-breadcrumb a{transition:color .2s}.page-breadcrumb a:hover{color:var(--gold)}
.updated{display:block;margin-top:20px;color:var(--muted);font-size:1.1rem;letter-spacing:.08em}
.editorial-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(36px,7vw,110px);align-items:center}.editorial-media{min-height:560px;background:var(--mist);overflow:hidden}.editorial-media img{width:100%;height:100%;min-height:560px;object-fit:contain;padding:clamp(28px,5vw,72px)}.editorial-copy blockquote{margin-bottom:36px;font-family:var(--serif);font-size:clamp(3.2rem,4.4vw,5.4rem);font-weight:300;line-height:1.1}.editorial-copy p{max-width:48ch;margin-top:22px;color:var(--muted);font-size:1.55rem;line-height:2}
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.metric{min-height:290px;padding:clamp(28px,4vw,56px);border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--white)}.metric strong{display:block;font-family:var(--serif);font-size:clamp(6.4rem,9vw,11rem);font-weight:300;line-height:.9}.metric span{display:block;margin-top:32px;color:var(--gold);font-size:1.05rem;font-weight:600;letter-spacing:.2em}.metric p{max-width:28ch;margin-top:13px;color:var(--muted)}
.profile-table{border-top:1px solid var(--line)}.profile-table>div{display:grid;grid-template-columns:minmax(180px,.65fr) 2fr;gap:32px;padding:25px 4px;border-bottom:1px solid var(--line)}.profile-table dt{color:var(--muted);font-size:1.15rem;font-weight:500;letter-spacing:.12em}.profile-table dd{font-family:var(--serif);font-size:2.15rem;font-weight:400;line-height:1.4}
.prose-layout{display:grid;grid-template-columns:minmax(180px,.55fr) minmax(0,2fr);gap:clamp(36px,7vw,120px);align-items:start}.prose-layout aside{position:sticky;top:120px;padding:28px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}.prose-layout aside p{margin-top:18px;color:var(--muted);font-size:1.2rem}.prose-content{border-top:1px solid var(--line)}.prose-content article{display:grid;grid-template-columns:minmax(210px,.72fr) 2fr;gap:38px;padding:32px 0;border-bottom:1px solid var(--line)}.prose-content h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;line-height:1.35}.prose-content p{max-width:64ch;color:var(--muted);line-height:2}.prose-content p+p{margin-top:14px}
body[data-page="about"] .page-hero-media{background:#E8E1D8}body[data-page="about"] .page-hero-copy{background:#F8F6F1}body[data-page="about"] .page-hero h1{max-width:11ch}
body[data-page="company"] .page-hero.text-only,body.legal-page .page-hero.text-only{background:linear-gradient(145deg,#F8F6F1 0%,#ECE7DE 100%)}body[data-page="company"] .page-hero.text-only .page-hero-copy,body.legal-page .page-hero.text-only .page-hero-copy{min-height:610px}.legal-page .section-heading{max-width:900px}.legal-page .section-prose{background:var(--white)}
.info-card,.guide-product,.contact-card{transition:transform .3s ease,box-shadow .3s ease}.info-card:hover,.guide-product:hover,.contact-card:hover{position:relative;z-index:2;transform:translateY(-4px);box-shadow:0 18px 50px rgba(40,40,40,.08)}
@media(max-width:1024px){.editorial-grid{grid-template-columns:1fr}.editorial-media,.editorial-media img{min-height:440px}.metrics-grid{grid-template-columns:1fr 1fr}.prose-layout{grid-template-columns:1fr}.prose-layout aside{position:static}.prose-content article{grid-template-columns:1fr}.profile-table>div{grid-template-columns:170px 1fr}}
@media(max-width:640px){.page-breadcrumb{min-height:42px;overflow:hidden;white-space:nowrap}.editorial-media,.editorial-media img{min-height:340px}.editorial-copy blockquote{font-size:3.4rem}.metrics-grid{grid-template-columns:1fr}.metric{min-height:230px}.metric strong{font-size:7.4rem}.profile-table>div{grid-template-columns:1fr;gap:8px;padding:22px 0}.profile-table dd{font-size:1.9rem}.prose-content article{padding:28px 0}.prose-content h3{font-size:2rem}body[data-page="company"] .page-hero.text-only .page-hero-copy,body.legal-page .page-hero.text-only .page-hero-copy{min-height:520px}}
@media(max-width:1024px){.guide-nav{display:none}.guide-header{grid-template-columns:1fr auto}.guide-mobile-nav{position:sticky;top:72px;z-index:90;display:flex;width:100%;max-width:100%;gap:26px;padding:12px var(--pad);overflow-x:auto;overscroll-behavior-x:contain;background:rgba(247,245,240,.96);border-bottom:1px solid var(--line);font-size:1.15rem;font-weight:500;letter-spacing:.1em;white-space:nowrap;scrollbar-width:none}.guide-mobile-nav::-webkit-scrollbar{display:none}.page-hero{grid-template-columns:1fr}.page-hero-media{min-height:420px;order:2}.page-hero-copy{min-height:520px}.card-grid,.product-row{grid-template-columns:repeat(2,1fr)}.method-line{grid-template-columns:repeat(3,1fr)}.method-step{border-bottom:1px solid var(--line)}.guide-footer{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.guide-header{height:64px}.guide-mobile-nav{top:64px}.guide-logo span{display:none}.page-hero{min-height:0}.page-hero-copy{min-height:470px;padding-top:70px}.page-hero h1{max-width:100%;font-size:4.2rem}.page-hero-media{min-height:330px}.page-hero-media img{padding:24px}.page-hero.text-only,.page-hero.text-only .page-hero-copy{min-height:500px}.hero-actions{align-items:stretch;flex-direction:column}.button{width:100%}.card-grid,.product-row,.contact-panel{grid-template-columns:1fr}.info-card{min-height:220px}.info-card .number{margin-bottom:32px}.compare-row{grid-template-columns:1fr;gap:7px}.method-line{grid-template-columns:1fr}.method-step{min-height:190px;border-right:0}.method-step h3{margin-top:18px}.guide-footer{grid-template-columns:1fr;gap:28px}.guide-footer-copy{grid-column:1}.product-row{gap:1px}.section-heading h2{font-size:3.8rem}}
@media(max-width:700px){.guide-header{grid-template-columns:minmax(0,1fr) auto auto;gap:12px;padding-inline:18px}.guide-mobile-nav{display:flex}.product-page .guide-mobile-nav{display:none}.guide-menu{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 8px;font-size:1.15rem;font-weight:500;letter-spacing:.08em}.guide-cart{min-width:44px;min-height:44px;justify-content:center}.guide-logo{min-width:0}.guide-logo strong{font-size:2rem}}
@media(max-width:700px){.dc-launch{display:none!important}}
@media(max-width:1024px){.guide-mobile-nav{gap:12px}.guide-mobile-nav a{display:inline-flex;flex:0 0 auto;align-items:center;min-height:44px;padding-inline:8px;white-space:nowrap}}
@media(max-width:640px){.section-products{overflow:hidden}.section-products .section-inner{max-width:none}.section-products .product-row{display:flex;width:calc(100vw - var(--pad));overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-left:0;background:transparent;border:0;gap:12px;padding-bottom:12px;scrollbar-width:none}.section-products .product-row::-webkit-scrollbar{display:none}.section-products .guide-product{flex:0 0 min(82vw,330px);border:1px solid var(--line);scroll-snap-align:start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Postal lookup improvements */
.postal-input-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.postal-input-wrapper input {
  letter-spacing: 2px;
  font-size: 16px;
}

.form-hint {
  font-size: 12px;
  color: #715934;
  line-height: 1.4;
  margin-top: 2px;
}

.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="tel"] {
  font-size: 16px;
  padding: 12px 14px;
  border: 1px solid #d4cdc0;
  border-radius: 4px;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-row input:focus {
  outline: none;
  border-color: #b09a7f;
  box-shadow: 0 0 0 3px rgba(176, 154, 127, 0.1);
}

.form-row input:valid:not(:placeholder-shown) {
  border-color: #7a9e6a;
}

.form-row label {
  font-weight: 500;
  font-size: 14px;
  color: #2a2a2a;
  margin-bottom: 6px;
  display: block;
}

/* Checkout form layout improvements */
.modal-form {
  max-width: 100%;
}

.form-row {
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
}

.form-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 600px) {
  .form-grid-2 {
    grid-template-columns: 1fr;
  }
}

.form-divider {
  height: 1px;
  background: #e2ddd4;
  margin: 24px 0;
}

.form-step {
  font-size: 14px;
  font-weight: 500;
  color: #2a2a2a;
  margin: 20px 0 14px;
}

/* 2026-10-12: one readable mobile navigation system for editorial routes. */
@media (max-width: 700px) {
  .guide-header {
    height: 64px;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    padding-inline: 18px;
  }
  .guide-logo strong { font-size: 2rem; }
  .guide-logo span { display: none; }
  .guide-menu,
  .guide-cart {
    min-width: 44px;
    min-height: 44px;
    padding-inline: 8px;
    justify-content: center;
    font-size: 1.15rem;
  }
  .guide-mobile-nav {
    position: sticky;
    top: 64px;
    z-index: 90;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 0;
    padding: 0 12px;
    overflow: visible;
    background: rgba(247,245,240,.98);
    border-bottom: 1px solid var(--line);
    white-space: normal;
  }
  .guide-mobile-nav::after { display: none !important; }
  .guide-mobile-nav a {
    display: grid;
    place-items: center;
    min-width: 0;
    min-height: 48px;
    padding: 6px 4px;
    border-left: 1px solid rgba(34,38,36,.08);
    font-size: 1.05rem;
    line-height: 1.25;
    text-align: center;
    white-space: normal;
  }
  .guide-mobile-nav a:first-child { border-left: 0; }
}

/* V1 CARE: clarify the process entry without changing content or photos. */
body[data-page="care"] .page-hero .image-note{color:#514c46}
body[data-page="care"] #care-process .info-card:first-child{border-top:3px solid #262825;background:#f5f5f1}
body[data-page="care"] #care-process .text-link{display:inline-flex;align-items:center;min-height:44px}
body[data-page="care"] #care-process .number{font-family:var(--sans);font-variant-numeric:tabular-nums}
@media(max-width:700px){body[data-page="care"] .page-hero-copy{padding:36px 22px}body[data-page="care"] .page-hero-copy h1{margin:18px 0 24px;font-size:38px;line-height:1.25}body[data-page="care"] .page-hero-media{max-height:260px;padding:18px}body[data-page="care"] .page-hero-media img{max-height:224px;object-fit:contain}body[data-page="care"] #care-process{padding-top:40px}body[data-page="care"] #care-process .info-card{padding:24px}}


/* SOURCE: shop.css */
.shop-hero{max-width:1240px;margin:auto;padding:72px var(--pad) 42px}.shop-hero>span{color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.16em}.shop-hero h1{margin:10px 0 8px;font-size:clamp(38px,5vw,62px);line-height:1.1;letter-spacing:-.045em}.shop-hero p{margin:0;color:var(--muted)}.shop-tools{position:sticky;top:72px;z-index:35;display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding:14px var(--pad);background:rgba(247,246,242,.97);border-top:1px solid var(--line);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}.search{width:min(420px,100%);height:44px;display:flex;align-items:center;gap:10px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:4px}.search svg{width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:1.8}.search input{width:100%;border:0;outline:0;background:transparent;font:inherit;font-size:13px}.filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.filters::-webkit-scrollbar{display:none}.filters button{min-height:40px;padding:0 16px;border:1px solid var(--line);border-radius:4px;background:#fff;white-space:nowrap;font-size:12px;font-weight:600;cursor:pointer}.filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.shop-selectors{width:100%;display:flex;align-items:end;gap:10px;overflow-x:auto;scrollbar-width:none}.shop-selectors::-webkit-scrollbar{display:none}.shop-selectors label{flex:0 0 178px;display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em}.shop-selectors select{width:100%;height:38px;padding:0 32px 0 10px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink);font:inherit;font-size:12px}.shop-selectors button{flex:0 0 auto;height:38px;padding:0 14px;border:0;border-bottom:1px solid var(--ink);background:transparent;color:var(--ink);font-size:11px;cursor:pointer}.catalog{max-width:1240px;margin:auto;padding:34px var(--pad) 90px}.catalog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.catalog-head p{margin:0;color:var(--muted);font-size:13px}.catalog-head>p{flex:0 0 auto;white-space:nowrap}.catalog-head b{color:var(--ink);font-size:18px}.catalog-head>div{display:flex;gap:18px;flex-wrap:wrap;justify-content:flex-end}.catalog-head a{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:600}.shop-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.shop-card{min-width:0;display:flex;flex-direction:column;background:#fff;border-radius:6px;overflow:hidden}.shop-card-media{aspect-ratio:1/1;display:grid;place-items:center;background:#EEEAE2;overflow:hidden}.shop-card-media img{width:100%;height:100%;object-fit:contain;padding:10%;transition:transform .3s ease}.shop-card-body{flex:1;display:flex;flex-direction:column;padding:16px}.shop-card small{color:var(--gold);font-size:9px;font-weight:700;letter-spacing:.12em}.shop-card h2{margin:6px 0 5px;font-size:14px;line-height:1.45;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}@supports (word-break:auto-phrase){.shop-card h2{word-break:auto-phrase}}.shop-card p{margin:0;color:var(--muted);font-size:11px}.shop-card .price{margin-top:auto;padding-top:14px;color:var(--ink);font-size:15px;font-weight:600}.shop-card .view{min-height:40px;display:grid;place-items:center;margin:0 16px 16px;border:1px solid var(--ink);border-radius:4px;font-size:11px;font-weight:600}.empty{display:none;padding:70px 20px;text-align:center;color:var(--muted)}body>footer{display:grid;grid-template-columns:1fr auto;align-items:start;gap:24px;padding:46px var(--pad) 90px}body>footer strong{font-size:22px;letter-spacing:.14em}body>footer>div{display:flex;gap:22px}body>footer a,body>footer small{font-size:11px;color:#bbb}body>footer small{grid-column:1/-1;padding-top:20px;border-top:1px solid #343631}@media(hover:hover){.shop-card:hover img{transform:scale(1.035)}.shop-card:hover{opacity:.82}}@media(max-width:1000px){.shop-grid{grid-template-columns:repeat(3,1fr)}.shop-tools{top:58px;display:block}.filters,.shop-selectors{margin-top:9px}}@media(max-width:640px){.shop-hero{padding:42px 16px 28px}.shop-hero h1{font-size:38px}.shop-tools{top:58px;padding:10px 16px}.search{width:100%}.filters button{min-height:36px;padding:0 13px}.catalog{padding:24px 12px 64px}.catalog-head{padding:0 4px}.shop-grid{grid-template-columns:repeat(2,1fr);gap:7px}.shop-card-body{padding:11px}.shop-card h2{font-size:12px}.shop-card p{display:none}.shop-card .price{font-size:13px}.shop-card .view{min-height:38px;margin:0 11px 11px}body>footer{display:block;padding:42px 20px 88px}body>footer>div{flex-wrap:wrap;margin:20px 0}body>footer small{display:block}.top-actions>a{display:none}}
.shop-shipping-note{margin-top:7px;color:#8a6a34;font-size:11px;font-weight:600;letter-spacing:.03em}
.shop-card-body>p:first-of-type{display:-webkit-box;overflow:hidden;-webkit-line-clamp:3;-webkit-box-orient:vertical}
.mobile-dock{display:none}
@media(max-width:640px){body{padding-bottom:64px}.mobile-dock{position:fixed;left:0;right:0;bottom:0;z-index:100;height:64px;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.97);border-top:1px solid var(--line);backdrop-filter:blur(14px)}.mobile-dock a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:9px;font-weight:600}.mobile-dock span{color:var(--ink);font-size:15px}}
.shop-card-target,.shop-card-variation{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.65}.shop-card-target{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.shop-card-actions{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line)}.shop-card-actions .view,.shop-card-actions .compare-link,.shop-card-actions .favorite-button{min-height:46px;display:flex;align-items:center;justify-content:center;margin:0;padding:10px 8px;border:0;border-radius:0;background:#fff;color:var(--ink);text-align:center;text-decoration:none;font:inherit;font-size:11px;font-weight:600;letter-spacing:.04em;cursor:pointer}.shop-card-actions .compare-link,.shop-card-actions .favorite-button{border-left:1px solid var(--line);color:var(--muted)}.shop-card-actions .favorite-button[aria-pressed="true"]{background:var(--ink);color:#fff}.shop-card-actions a:focus-visible,.shop-card-actions button:focus-visible{outline:3px solid #715934;outline-offset:-3px}@media(max-width:600px){.shop-card-actions{grid-template-columns:repeat(3,1fr)}.shop-card-actions .compare-link,.shop-card-actions .favorite-button{border-left:1px solid var(--line);border-top:0}.shop-card-actions .view,.shop-card-actions .compare-link,.shop-card-actions .favorite-button{padding:8px 3px;font-size:10px}}
.shop-variation-control{display:grid;gap:5px;margin-top:12px}.shop-variation-control span{color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.08em}.shop-variation-select{width:100%;min-height:42px;padding:0 34px 0 11px;border:1px solid var(--line);background:#fff;color:var(--ink);font:inherit;font-size:11px}.shop-card-actions{grid-template-columns:1.25fr 1fr .55fr .55fr}.shop-card-actions .shop-quick-add{min-height:48px;border:0;background:var(--ink);color:#fff;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.shop-card-actions .shop-quick-add:disabled{background:#5f665f}.shop-card-actions .shop-quick-add:focus-visible{outline:3px solid #715934;outline-offset:-3px}
.checkout-order-review{padding:16px 32px;border-bottom:1px solid var(--line);background:#fff}.checkout-order-review__head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:10px}.checkout-order-review__head strong{font-size:12px;letter-spacing:.08em}.checkout-order-review__head button{min-height:36px;padding:0;border:0;border-bottom:1px solid currentColor;background:transparent;color:var(--ink);font:inherit;font-size:11px;cursor:pointer}.checkout-line-items{display:grid;gap:8px}.checkout-line-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;color:var(--ink);font-size:12px;line-height:1.5}.checkout-line-item>div{display:flex;flex-wrap:wrap;gap:2px 8px;min-width:0}.checkout-line-item strong{width:100%;font-size:12px}.checkout-line-item span{color:var(--muted);font-size:11px}.checkout-line-item>b{flex:0 0 auto;font-size:12px}
.filter-scroll-hint{display:none;width:100%;margin:0;color:var(--muted);font-size:10px;letter-spacing:.04em}
.shop-filter-group{width:100%;display:grid;grid-template-columns:130px minmax(0,1fr);align-items:center;gap:14px}.shop-filter-group>strong{font-size:11px;font-weight:600;letter-spacing:.08em}.shop-purpose-filters button{background:#f8f4ec}.modal-success-order{width:min(100%,560px);margin-top:24px;padding:20px;border:1px solid var(--line);background:#fff;text-align:left}.modal-success-order h4{margin:0 0 12px;font-size:13px;letter-spacing:.08em}.modal-success-items{display:grid;gap:8px}.modal-success-item{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.modal-success-item>div{display:grid;gap:3px}.modal-success-item span{color:var(--muted);font-size:11px}.modal-success-item b{white-space:nowrap}.modal-success-order dl{margin:12px 0 0}.modal-success-order dl>div{display:flex;justify-content:space-between;gap:20px;padding:7px 0}.modal-success-order dt,.modal-success-order dd{margin:0}.modal-success-total{margin-top:5px;padding-top:12px!important;border-top:1px solid var(--ink);font-weight:600;font-size:14px}
@media(max-width:700px){.shop-page .shop-tools{position:relative!important;top:auto!important}.shop-filter-group{grid-template-columns:1fr;gap:8px}.shop-filter-group>strong{padding-left:2px}.modal-success-order{padding:16px}}
@media(max-width:640px){.filter-scroll-hint{display:block}.shop-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;overflow:visible}.shop-selectors label{min-width:0;flex:none}.shop-selectors button{width:100%;min-height:44px}.checkout-order-review{padding:14px 18px}.checkout-order-review__head button{min-height:44px}}
@media(max-width:480px){.catalog{padding-inline:12px}.shop-grid{grid-template-columns:1fr;gap:12px}.shop-card{display:grid;grid-template-columns:36% 1fr}.shop-card-media{grid-column:1;aspect-ratio:auto;min-height:180px}.shop-card-media img{padding:8%}.shop-card-body{grid-column:2;padding:14px}.shop-card h2{font-size:16px;line-height:1.4}.shop-card-body>p:first-of-type{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.6}.shop-card-target{display:none!important}.shop-card-variation{display:none!important}.shop-shipping-note{display:none!important}.shop-card .price{font-size:17px;padding-top:10px}.shop-variation-control{margin-top:8px}.shop-variation-select{min-height:44px;font-size:12px}.shop-card-actions{grid-column:1/-1;grid-template-columns:1.25fr 1fr 50px 50px}.shop-card-actions .shop-quick-add,.shop-card-actions .view,.shop-card-actions .compare-link,.shop-card-actions .favorite-button{min-height:48px;padding:7px 4px;font-size:10px}.shop-card-actions .compare-link,.shop-card-actions .favorite-button{border-left:1px solid var(--line)}}


/* SOURCE: routine-bundles.css */
.routine-items label{font-size:12px;color:#353c31;margin-top:8px}.routine-items li>div{min-width:0}.routine-items select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-height:44px;padding:8px 4px;border:1px solid #82897d;border-radius:2px;background:#fff;color:#252a23;font:inherit;font-size:12px}.routine-items select:focus-visible{outline:2px solid #20251e;outline-offset:3px}.routine-card-foot{flex-wrap:wrap}.routine-card-foot>small{flex:1 0 100%;font-size:11px;line-height:1.7;color:#5f665c}
.routine-section{padding:76px clamp(20px,5vw,72px) 84px;background:#ebe8df;border-top:1px solid rgba(32,37,30,.12);border-bottom:1px solid rgba(32,37,30,.12)}
.routine-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.72fr);gap:44px;align-items:end;max-width:1320px;margin:0 auto 38px}.routine-intro small{display:block;margin-bottom:15px;font:600 11px/1.3 "DM Sans",sans-serif;letter-spacing:.18em;color:#697063}.routine-intro h2{margin:0;font:400 clamp(34px,4vw,58px)/1.05 "Noto Serif JP",serif;letter-spacing:-.04em;color:#20251e}.routine-intro p{margin:0;color:#5f665c;font-size:14px;line-height:2}.routine-disclosure{max-width:1320px;margin:0 auto 26px;padding:14px 16px;border-left:2px solid #8d7652;background:rgba(255,255,255,.35);color:#62685f;font-size:12px;line-height:1.8}
.routine-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;max-width:1320px;margin:0 auto;background:rgba(32,37,30,.15);border:1px solid rgba(32,37,30,.15)}.routine-card{display:flex;min-height:570px;flex-direction:column;padding:44px;background:#f7f5ef}.routine-card-head small{font:600 10px/1.3 "DM Sans",sans-serif;letter-spacing:.16em;color:#8d7652}.routine-card-head h3{margin:14px 0 17px;font:400 clamp(25px,2.4vw,38px)/1.25 "Noto Serif JP",serif;color:#20251e}.routine-card-head p{margin:0;color:#666d63;font-size:13px;line-height:1.9}.routine-items{display:grid;gap:0;margin:34px 0;padding:0;list-style:none;border-top:1px solid rgba(32,37,30,.13)}.routine-items li{display:grid;grid-template-columns:40px 1fr;gap:17px;align-items:start;padding:18px 0;border-bottom:1px solid rgba(32,37,30,.13)}.routine-items li>span{padding-top:3px;font:500 11px/1 "DM Sans",sans-serif;color:#9a8a70}.routine-items div{display:grid;gap:4px}.routine-items small{font-size:10px;letter-spacing:.08em;color:#8d7652}.routine-items strong{font:500 14px/1.55 "Noto Sans JP",sans-serif;color:#252a23}.routine-items em{font-style:normal;font-size:12px;color:#747a70}.routine-card-foot{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-top:auto;padding-top:16px}.routine-card-foot p{display:grid;gap:4px;margin:0}.routine-card-foot p small{font-size:10px;color:#7b8178}.routine-card-foot p strong{font:500 23px/1 "DM Sans",sans-serif;color:#20251e}.routine-card-foot button{min-height:49px;padding:0 22px;border:1px solid #20251e;background:#20251e;color:#fff;font:600 12px/1 "Noto Sans JP",sans-serif;letter-spacing:.04em;cursor:pointer;transition:.2s}.routine-card-foot button:hover{background:#8d7652;border-color:#8d7652}.routine-card-foot button:disabled{opacity:.65;cursor:default}.routine-error{grid-column:1/-1;margin:0;padding:28px;background:#f7f5ef;color:#714b42}
@media(max-width:800px){.routine-section{padding:56px 16px 64px}.routine-intro{grid-template-columns:1fr;gap:20px;margin-bottom:28px}.routine-intro h2{font-size:30px;white-space:nowrap}.routine-intro p{font-size:13px}.routine-grid{grid-template-columns:1fr}.routine-card{min-height:0;padding:31px 24px}.routine-card-head h3{font-size:27px}.routine-card-foot{align-items:stretch;flex-direction:column}.routine-card-foot button{width:100%}.routine-disclosure{margin-bottom:20px}.dc-launch{right:12px;bottom:82px;width:48px;height:48px;padding:0;place-items:center;text-align:center}.dc-launch span{display:none}.dc-launch b{font-size:10px;line-height:1.3}}


/* SOURCE: concierge.css */
.dc-shell{font-family:'Noto Sans JP',sans-serif}.checkout-open .dc-launch,.cart-open .dc-launch{display:none!important}.dc-launch{position:fixed;right:22px;bottom:22px;z-index:8000;border:1px solid #c9bda9;background:#26302e;color:#fff;padding:13px 18px;box-shadow:0 12px 36px rgba(20,26,24,.2);cursor:pointer;display:grid;text-align:left}.dc-launch span{font-size:9px;letter-spacing:.16em;color:#cfc7b8}.dc-launch b{font-family:'Noto Serif JP',serif;font-size:14px;font-weight:400}.dc-backdrop{position:fixed;inset:0;z-index:8001;background:rgba(17,22,20,.34);backdrop-filter:blur(2px)}.dc-dialog{position:fixed;z-index:8002;right:22px;bottom:22px;width:min(440px,calc(100vw - 32px));height:min(720px,calc(100vh - 44px));background:#f8f6f1;color:#252a28;box-shadow:0 24px 80px rgba(17,22,20,.32);display:grid;grid-template-rows:auto auto auto 1fr auto auto;overflow:hidden}.dc-dialog[hidden],.dc-backdrop[hidden]{display:none}.dc-dialog>header{display:flex;justify-content:space-between;gap:20px;padding:22px 22px 16px;border-bottom:1px solid #ddd7ce}.dc-dialog header small{display:block;font-size:9px;letter-spacing:.17em;color:#806e59}.dc-dialog header h2{font-family:'Noto Serif JP',serif;font-size:18px;font-weight:400;margin:6px 0 0}.dc-close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer;color:#444}.dc-notice{padding:11px 20px;background:#eee8de;font-size:10px;line-height:1.65;color:#635c54}.dc-quick{display:flex;gap:6px;overflow-x:auto;padding:11px 14px;border-bottom:1px solid #e2ddd4;scrollbar-width:none}.dc-quick button{flex:none;border:1px solid #bbb1a3;background:#fff;padding:8px 10px;font:inherit;font-size:10px;cursor:pointer}.dc-log{overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.dc-message{max-width:88%;padding:13px 14px;background:#fff;border:1px solid #e2ddd4;align-self:flex-start}.dc-message.user{align-self:flex-end;background:#26302e;color:#fff;border-color:#26302e}.dc-message.waiting{color:#777}.dc-message p{margin:0;white-space:pre-wrap;font-size:13px;line-height:1.8}.dc-results,.dc-sources{display:grid;gap:6px;margin-top:12px}.dc-results a,.dc-handoff{display:block;padding:9px 10px;background:#eee9df;color:#26302e;text-decoration:none;font-size:11px}.dc-results.partner a{border-left:3px solid #927755}.dc-sources{border-top:1px solid #ddd7ce;padding-top:10px}.dc-sources small,.dc-disclosure{display:block;font-size:9px;line-height:1.6;color:#756b60}.dc-sources a{color:#58675f;font-size:10px}.dc-disclosure{margin-top:10px;padding:8px;background:#f0ebe2}.dc-handoff{margin-top:10px;background:#26302e;color:#fff}.dc-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding:12px 14px;border-top:1px solid #ddd7ce;background:#fff}.dc-form textarea{resize:none;border:1px solid #bdb5a9;padding:10px;font:inherit;font-size:12px}.dc-form button{border:0;background:#26302e;color:#fff;padding:0 17px;font:inherit;cursor:pointer}.dc-dialog>footer{display:flex;gap:18px;padding:9px 16px 12px;background:#fff}.dc-dialog>footer a{font-size:9px;color:#6f665d}.dc-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.dc-open{overflow:hidden}@media(max-width:600px){.dc-launch{right:12px;bottom:12px;width:56px;height:56px;padding:0;border-radius:50%;place-content:center;text-align:center}.dc-launch span{display:none}.dc-launch b{font-size:10px}.has-mobile-dock .dc-launch{bottom:76px}.show-mobile-purchase .dc-launch{bottom:82px}body.product-page .dc-launch,body:has(#shop-main) .dc-launch{display:none}.dc-dialog{right:0;bottom:0;width:100vw;height:calc(100dvh - 12px);max-height:none}.dc-dialog>header{padding:18px 16px 14px}.dc-log{padding:14px}.dc-message{max-width:92%}}@media(prefers-reduced-motion:reduce){.dc-dialog,.dc-launch,.dc-backdrop{animation:none!important;transition:none!important}}


/* SOURCE: premium-polish.css */
/* DREAMY premium polish — 2026-08-25
   Conversion-first visual layer for HOME, SHOP and PDP.
   Product IDs, prices, variations, catalog composition and checkout logic are untouched. */

:root {
  --dreamy-paper: #f5f2ec;
  --dreamy-paper-2: #ece6dc;
  --dreamy-ink: #20211f;
  --dreamy-muted: #625b52;
  --dreamy-line: #d3cabd;
  --dreamy-bronze: #71531e;
  --dreamy-bronze-dark: #604817;
  --dreamy-white: #fcfbf8;
  --dreamy-shadow: 0 18px 54px rgba(40, 34, 26, .07);
  --dreamy-jp-serif: 'Yu Mincho', 'Hiragino Mincho ProN', 'Hiragino Mincho Pro', 'Noto Serif JP', 'Noto Serif CJK JP', Georgia, serif;
  --dreamy-jp-sans: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', 'Noto Sans JP', 'Noto Sans CJK JP', system-ui, sans-serif;
  --serif: 'Cormorant Garamond', var(--dreamy-jp-serif);
  --sans: var(--dreamy-jp-sans);
  --font-serif: 'Cormorant Garamond', var(--dreamy-jp-serif);
  --font-sans: var(--dreamy-jp-sans);
}

/* Shared refinements */
.home-page,
.shop-page,
.product-page {
  background: var(--dreamy-paper);
  color: var(--dreamy-ink);
}
.home-page .btn,
.shop-page .btn,
.product-page .pdp-primary,
.product-page .pdp-secondary {
  border-radius: 0;
}
.home-page a:focus-visible,
.shop-page a:focus-visible,
.product-page a:focus-visible,
.home-page button:focus-visible,
.shop-page button:focus-visible,
.product-page button:focus-visible {
  outline: 2px solid var(--dreamy-bronze);
  outline-offset: 3px;
}
.home-page .detail-modal[hidden],
.home-page .checkout-modal[hidden],
.shop-page .detail-modal[hidden],
.shop-page .checkout-modal[hidden] { display: none !important; }
.home-page .eyebrow,
.home-page .eyebrow--gold { color: var(--dreamy-bronze-dark); }
.home-page #breed-grooming .eyebrow,
.home-page #breed-grooming .eyebrow--gold { color: #d8bc7a; }
.home-page .gs-section .eyebrow,
.home-page .gs-section .eyebrow--gold,
.home-page .home-library .eyebrow,
.home-page .home-library .eyebrow--gold,
.home-page .b2b-section .eyebrow,
.home-page .b2b-section .eyebrow--gold { color: #d8bc7a; }
.home-page .trust-text small { color: #554e45; }
.home-page .product-badge { background: var(--dreamy-bronze-dark); color: #fff; }
.home-page .product-cat-tag { color: #5c554d; }
.home-page #discover .section-header p,
.home-page #discover .mobile-swipe-hint,
.home-page .discover-section .section-header p { color: #595249; }
.home-page .discover-card > span { color: var(--dreamy-bronze-dark); }
.home-page .review-stars,
.home-page .b2b-price { color: var(--dreamy-bronze-dark); }
.home-page .b2b-card .btn { background: var(--dreamy-bronze-dark); color: #fff; }
.home-page .footer-bottom span { color: #b9b9b9; }
.home-page .story-feature h3 { margin: 0 0 5px; font: 500 1.35rem/1.35 var(--dreamy-jp-sans); }
.home-page .footer-col h2 { margin: 0 0 16px; color: #aaa; font: 500 1rem/1.3 var(--dreamy-jp-sans); letter-spacing: .18em; text-transform: uppercase; }
.shop-page .shop-hero > span,
.shop-page .shop-card-body > small { color: var(--dreamy-bronze-dark); }
.shop-page .routine-intro small,
.shop-page .routine-card-head small,
.shop-page .routine-items small,
.shop-page .routine-card-foot small { color: #5b544a; }
.shop-page .routine-items > li > span { color: #5b544a; }
.shop-page .routine-items em { color: #545a52; }
.shop-page > footer a,
.shop-page > footer small { color: #5b544a; }
.home-page .cart-checkout-note,
.shop-page .cart-checkout-note {
  margin: 10px 0 0;
  color: var(--dreamy-muted);
  font: 500 1.05rem/1.55 var(--dreamy-jp-sans);
  text-align: center;
}

/* HOME — hierarchy, less repetition, denser editorial value */
.home-page .site-header {
  background: rgba(245, 242, 236, .92);
  border-color: rgba(72, 62, 49, .16);
}
body.home-page .hero {
  min-height: 600px;
  max-height: 760px;
  background: #e7e0d5;
}
.home-page .hero::before {
  background:
    linear-gradient(90deg, #e7e0d5 0%, #e7e0d5 36%, rgba(231,224,213,.9) 45%, rgba(231,224,213,.15) 67%, transparent 100%),
    radial-gradient(circle at 78% 44%, rgba(255,255,255,.68), transparent 44%);
}
.home-page .hero-bg {
  inset: 0 0 0 39%;
  background-size: min(100%, 860px);
  background-position: 64% 52%;
}
.home-page .hero-content::before { display: none; }
.home-page .hero h1 {
  max-width: 9.5em;
  font-size: clamp(4.4rem, 3.8vw, 5.7rem);
  line-height: 1.1;
}
.home-page .hero-sub { max-width: 37ch; }
.home-page .checkout-order-review {
  padding: 16px 32px;
  border-bottom: 1px solid var(--color-border);
  background: #fff;
}
.home-page .checkout-order-review__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
.home-page .checkout-order-review__head strong { font-size: 1.2rem; letter-spacing: .08em; }
.home-page .checkout-order-review__head button {
  min-height: 36px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--color-text-primary);
  font: inherit;
  font-size: 1.1rem;
  cursor: pointer;
}
.home-page .checkout-line-items { display: grid; gap: 8px; }
.home-page .checkout-line-item { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; font-size: 1.2rem; line-height: 1.5; }
.home-page .checkout-line-item > div { display: flex; flex-wrap: wrap; gap: 2px 8px; min-width: 0; }
.home-page .checkout-line-item strong { width: 100%; font-size: 1.2rem; }
.home-page .checkout-line-item span { color: var(--color-text-secondary); font-size: 1.1rem; }
.home-page .checkout-line-item > b { flex: 0 0 auto; font-size: 1.2rem; }
.home-page .hero-pain-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}
.home-page .hero-pain-links a {
  padding: 8px 12px;
  border: 1px solid rgba(32,33,31,.24);
  background: rgba(252,251,248,.34);
  color: #514a42;
  font: 500 1.05rem/1.35 var(--dreamy-jp-sans);
  letter-spacing: .04em;
}
.home-page .hero-pain-links a:hover,
.home-page .hero-pain-links a:focus-visible {
  background: var(--dreamy-ink);
  border-color: var(--dreamy-ink);
  color: #fff;
  opacity: 1;
}
.home-page .hero-boundary{max-width:46ch;margin:16px 0 0;color:#5f584f;font-size:1.05rem;line-height:1.65}
.home-page .hero-cta .btn-primary { background: var(--dreamy-ink); border-color: var(--dreamy-ink); }
.home-page .trustbar { padding: 19px 0 !important; background: #eee4cf; }
.home-page .trust-item { justify-content: flex-start; }
.home-page .path-card { min-height: 138px; padding-block: 24px; }
.home-page section:not(.hero):not(.trustbar) { padding-top: clamp(54px, 6vw, 82px); padding-bottom: clamp(54px, 6vw, 82px); }
.home-page .section-header { margin-bottom: clamp(28px, 3.5vw, 44px); }
.home-page .featured-note,
.home-page .featured-swipe-hint { display: none; }
.home-page #featured .product-grid { box-shadow: var(--dreamy-shadow); }
.home-page .product-body { padding: 22px 20px 26px; }
.home-page .product-actions { margin-top: auto; }
.home-page .story-inner { gap: clamp(34px, 5vw, 74px); }
.home-page .story-img { aspect-ratio: 1 / 1.08; }
.home-page .story-compact .story-inner {
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  min-height: 0;
}
.home-page .story-compact .story-text { padding-block: clamp(44px, 5vw, 68px); }
.home-page .story-compact .story-text > p { max-width: 52ch; }
.home-page .story-compact .story-img { aspect-ratio: 4 / 3; }
.home-page .story-features { gap: 15px; margin-top: 26px; padding-top: 26px; }
.home-page .gs-card-body { min-height: 84px; }
.home-page .discover-card { min-height: 250px; padding: clamp(26px, 3.2vw, 42px); }
.home-page .discover-card h3 { margin: 26px 0 14px; font-size: clamp(2.35rem, 2.6vw, 3.45rem); }
.home-page .home-library-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-page .home-library-card { min-height: 260px; padding: clamp(24px, 3vw, 40px); }
.home-page .home-library-card h3 { margin: 26px 0 14px; font-size: clamp(2.15rem, 2.3vw, 3rem); }
.home-page [aria-labelledby="knowledge-heading"] .discover-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.home-page [aria-labelledby="knowledge-heading"] .discover-card { min-height: 238px; }
.home-page [aria-labelledby="knowledge-heading"] .discover-card h3 { font-size: clamp(2rem, 2.1vw, 2.75rem); }
.home-page .home-life-wrap { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); }
.home-page .home-life-intro { padding: clamp(34px, 4vw, 58px); }
.home-page .home-life-intro h2 { font-size: clamp(3.25rem, 4vw, 5.2rem); }
.home-page .home-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-page .home-life-card { min-height: 205px; padding: clamp(22px, 2.4vw, 34px); }
.home-page .home-life-card h3 { margin: 20px 0 10px; font-size: clamp(1.9rem, 2vw, 2.55rem); }
.home-page .reviews-grid { gap: 1px; background: var(--dreamy-line); }
.home-page .review-card { padding: 26px; background: var(--dreamy-white); box-shadow: none; }
.home-page .review-policy { margin-top: 24px !important; }
.home-page .b2b-section { padding-block: clamp(58px, 6vw, 84px); }
.home-page .b2b-compact { padding-block: 48px; }
.home-page .b2b-compact .professional-focus { align-items: center; }
.home-page .b2b-compact .h-section { margin-bottom: 10px; }
.home-page .b2b-compact .professional-focus-action { align-self: center; }
.home-page .b2b-grid { gap: 12px; }
.home-page .b2b-card { padding: 28px; }
.home-page .b2b-card .b2b-features { display: none; }
.home-page .b2b-card .b2b-period { margin-bottom: 20px; }
.home-page .faq { padding-block: clamp(48px, 5vw, 68px); }
.home-page .faq-list { max-width: 900px; margin-inline: auto; }
.home-page .site-footer { padding-top: 58px; }
.home-page .breed-proof{background:#151918;color:#f7f5f0}.home-page .breed-proof .h-section{color:#f7f5f0}.home-page .breed-proof-header{max-width:760px}.home-page .breed-proof-header p{color:#c9cfcb}.home-page .breed-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#3b413f;border:1px solid #3b413f}.home-page .breed-proof-card{position:relative;display:flex;min-width:0;flex-direction:column;background:#1c211f;color:#f7f5f0;overflow:hidden}.home-page .breed-proof-card img{width:100%;aspect-ratio:16/9;object-fit:cover;filter:saturate(.82) contrast(1.03);transition:transform .45s ease,filter .45s ease}.home-page .breed-proof-card:hover img{transform:scale(1.025);filter:saturate(1) contrast(1.05)}.home-page .breed-proof-card small,.home-page .breed-proof-card h3,.home-page .breed-proof-card p{margin-left:24px;margin-right:24px}.home-page .breed-proof-card small{margin-top:24px;color:#d8bc7a;font-size:1rem;letter-spacing:.14em}.home-page .breed-proof-card h3{color:#f7f5f0;margin-top:8px;margin-bottom:8px;font:400 clamp(2.2rem,2.6vw,3.2rem)/1.25 var(--dreamy-jp-serif)}.home-page .breed-proof-card p{margin-top:0;margin-bottom:26px;color:#c9cfcb;line-height:1.75}.home-page .breed-proof-play{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:54px;height:54px;border:1px solid rgba(255,255,255,.7);background:rgba(20,24,23,.66);color:#fff;font-size:.9rem;letter-spacing:.1em}.home-page .breed-proof-note{max-width:76ch;margin:24px 0 0;color:#aeb5b0;font-size:1.05rem;line-height:1.8}

/* SHOP — image, name, price and action first */
.shop-page .shop-hero {
  padding-top: 56px;
  padding-bottom: 30px;
}
.shop-page .shop-hero h1 { margin-top: 8px; }
.shop-page .shop-tools {
  gap: 10px 14px;
  padding-block: 11px;
  border-color: var(--dreamy-line);
  box-shadow: 0 12px 28px rgba(47, 40, 31, .04);
}
.shop-page .shop-advanced { width: 100%; }
.shop-page .shop-advanced > summary { display: none; }
.shop-page .shop-advanced:not([open]) > .shop-selectors { display: flex; }
.shop-page .catalog { padding-top: 28px; }
.shop-page .shop-grid { gap: 10px; }
.shop-page .shop-card-static-tail { display: none; }
.shop-page .shop-card {
  border: 1px solid rgba(94, 80, 63, .16);
  background: var(--dreamy-white);
  box-shadow: 0 10px 28px rgba(48, 40, 31, .045);
}
.shop-page .shop-card:nth-child(n+9) {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}
.shop-page .routine-section {
  content-visibility: auto;
  contain-intrinsic-size: auto 1500px;
}
.shop-page .shop-card-media { background: #ebe6dd; }
.shop-page .shop-card-media img { padding: 7%; }
.shop-page .shop-card-body { padding: 16px 14px 14px; }
.shop-page .shop-card-body > p:first-of-type {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 3.3em;
  margin-top: 7px;
}
.shop-page .shop-card-target,
.shop-page .shop-card-variation { display: none; }
.shop-page .shop-card h2 { font-size: 17px; line-height: 1.38; }
.shop-page .shop-card .price { padding-top: 11px; font-size: 18px; }
.shop-page .shop-variation-control { margin-top: 10px; }
.shop-page .shop-card-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--dreamy-line);
}
.shop-page .shop-quick-add {
  grid-column: 1 / -1;
  min-height: 46px;
  background: var(--dreamy-ink);
}
.shop-page .shop-card-actions .view,
.shop-page .shop-card-actions .compare-link,
.shop-page .shop-card-actions .favorite-button {
  min-height: 42px;
  padding: 8px 4px;
  border-top: 1px solid var(--dreamy-line);
  font-size: 10px;
}
.shop-page .routine-section { padding-top: 60px; }
.shop-page .routine-grid { gap: 1px; background: var(--dreamy-line); }
.shop-page .routine-card { border: 0; }

/* PDP — purchase dominance and compact but complete decision information */
.product-page .pdp-info h1,
.product-page .pdp-details h2,
.product-page .pdp-section-heading h2,
.product-page .pdp-safety h2,
.product-page .pdp-decision h2,
.product-page .pdp-related h2,
.product-page .pdp-final h2,
.product-page .related-card h3 { font-family: var(--font-serif); }
.product-page #static-variation,
.product-page .pdp-primary,
.product-page .pdp-secondary { font-family: var(--font-sans); }
.product-page .pdp { min-height: 650px; }
.product-page .pdp-media { background: #e9e3da; }
.product-page .pdp-info { padding: clamp(38px, 5vw, 72px); }
.product-page .pdp-info h1 { font-size: clamp(3.6rem, 4.1vw, 5.4rem); }
.product-page .pdp-primary { background: var(--dreamy-ink); }
.product-page .pdp-actions { margin-top: 4px; }
.product-page .pdp-actions-slot { min-height: var(--pdp-actions-height, 0px); }
.product-page .pdp-details article { padding: clamp(34px, 3.8vw, 54px); }
.product-page .pdp-choice,
.product-page .pdp-routine,
.product-page .pdp-safety,
.product-page .pdp-decision,
.product-page .pdp-related { padding-top: clamp(58px, 6vw, 86px); padding-bottom: clamp(58px, 6vw, 86px); }
.product-page .pdp-final { padding-block: clamp(58px, 6vw, 84px); }
.product-page .related-card { background: var(--dreamy-white); }
.product-page .pdp-collapsible {
  border: 0;
  border-top: 1px solid var(--dreamy-line);
  background: var(--dreamy-paper);
}
.product-page .pdp-collapsible > summary {
  display: grid;
  grid-template-columns: minmax(110px, .35fr) 1fr auto;
  gap: 20px;
  align-items: center;
  min-height: 76px;
  padding: 16px clamp(20px, 4vw, 60px);
  cursor: pointer;
  list-style: none;
}
.product-page .pdp-collapsible > summary::-webkit-details-marker { display: none; }
.product-page .pdp-collapsible > summary span,
.product-page .pdp-collapsible > summary small {
  color: var(--dreamy-bronze-dark);
  font: 600 10px/1.4 var(--dreamy-jp-sans);
  letter-spacing: .14em;
}
.product-page .pdp-collapsible > summary strong {
  font: 500 clamp(18px, 2vw, 26px)/1.35 var(--dreamy-jp-serif);
}
.product-page .pdp-collapsible > summary small::after { content: ' ＋'; }
.product-page .pdp-collapsible[open] > summary small::after { content: ' −'; }

@media (max-width: 900px) {
  .home-page .home-library-grid,
  .home-page [aria-labelledby="knowledge-heading"] .discover-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .footer-brand { grid-column: 1 / -1; }
}

.shop-page .shop-load-more-wrap {
  display: flex;
  justify-content: center;
  padding: 34px 16px 10px;
}
.shop-page #shop-load-more {
  min-width: min(100%, 320px);
  min-height: 48px;
  padding: 13px 24px;
  border: 1px solid var(--dreamy-ink);
  background: var(--dreamy-paper);
  color: var(--dreamy-ink);
  font: 600 1.15rem/1.4 var(--dreamy-jp-sans);
  letter-spacing: .08em;
  cursor: pointer;
}
.shop-page #shop-load-more:hover,
.shop-page #shop-load-more:focus-visible {
  background: var(--dreamy-ink);
  color: var(--dreamy-white);
}
.shop-page #shop-load-more[hidden] { display: none; }
.shop-page .cart-subtotal .label { color: #625b52; }
.shop-page #cart-checkout-btn { background: #71531e; border-color: #71531e; color: #fff; }

@media (max-width: 700px) {
  .shop-page .guide-header,
  .shop-page .guide-mobile-nav { position: static; }
  body.shop-page main { padding-top: 0; }
  body.shop-page .shop-hero { margin-top: 0; }
  .shop-page.cart-open .mobile-dock,
  .shop-page.checkout-open .mobile-dock { visibility: hidden; pointer-events: none; }
  .shop-page #cart-toast { white-space: nowrap; }
  body.home-page .hero { height: auto; min-height: 0; max-height: none; padding: 0; }
  body.home-page .hero-content { min-height: 0; padding: 32px 18px 14px; }
  .home-page .hero-boundary { position: relative; z-index: 2; max-width: 72%; }
  .home-page .hero-bg {
    inset: 64% -8% 0 24%;
    background-size: contain;
    background-position: center bottom 6px;
  }
  .home-page .hero h1 { font-size: clamp(3.25rem, 9.6vw, 4.15rem); }
  .home-page .hero-pain-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
  .home-page .hero-pain-links a { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: 8px 6px; }
  .home-page .trustbar-inner { gap: 10px; }
  .home-page .trust-icon { font-size: 1.4rem; }
  .home-page .path-card { min-height: 126px; }
  .home-page section:not(.hero):not(.trustbar) { padding-top: 48px; padding-bottom: 48px; }
  .home-page .story-img { aspect-ratio: 16 / 10; }
  .home-page .story-compact .story-inner { grid-template-columns: 1fr; }
  .home-page .story-compact .story-text { padding: 42px 22px 30px; }
  .home-page .story-compact .story-img { aspect-ratio: 16 / 8; }
  .home-page .b2b-compact .professional-focus { gap: 22px; }
  .home-page .breed-proof-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin}.home-page .breed-proof-card{flex:0 0 min(88vw,360px);scroll-snap-align:start}.home-page .breed-proof-card small,.home-page .breed-proof-card h3,.home-page .breed-proof-card p{margin-left:18px;margin-right:18px}.home-page .breed-proof-play{top:12px;right:12px;width:48px;height:48px}
  .home-page .home-life-wrap { grid-template-columns: 1fr; }
  .home-page .home-life-intro { padding: 34px 24px; }
  .home-page .home-life-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page .home-life-card { min-height: 172px; padding: 20px 16px; }
  .home-page .home-life-card h3 { font-size: 1.75rem; line-height: 1.45; }
  .home-page .home-life-card p { display: none; }
  .home-page .review-card { padding: 20px; }
  .home-page .b2b-card { padding: 22px; }
  .home-page .b2b-card .b2b-name { font-size: 1.75rem; }
  .home-page .b2b-card .b2b-price { font-size: 2.3rem; }
  .home-page .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 18px; }
  .home-page .footer-brand { grid-column: 1 / -1; }
  .home-page .footer-col a { padding-block: 4px; }

  .product-page:not(.show-mobile-purchase) .pdp-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-page:not(.show-mobile-purchase) .pdp-primary { grid-column: 1 / -1; }
  .product-page { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .product-page .pdp-info h1 { font-size: 2.6rem; word-break: keep-all; overflow-wrap: normal; }
  .product-page .pdp-details { grid-template-columns: 1fr; }
  .product-page .pdp-details article { padding: 28px 20px; border-right: 0; }
  .product-page .pdp-details article:nth-child(odd) { border-right: 0; }
  .product-page .pdp-details article:last-child { border-bottom: 0; }
  .product-page .pdp-details h2 { font-size: 2.25rem; }
  .product-page .pdp-details p { max-width: 40ch; font-size: 1.5rem; line-height: 1.85; }
  .product-page .pdp-expert-guide { scroll-margin-top: 90px; }
  .product-page.show-mobile-purchase .pdp-actions { padding: 7px 12px calc(7px + env(safe-area-inset-bottom)); }
  .product-page.show-mobile-purchase .pdp-actions .pdp-primary { grid-column: 1 / -1; min-height: 52px; }
  .product-page.show-mobile-purchase .pdp-actions .pdp-secondary { display: none; }
  .product-page.show-mobile-purchase .pdp-message.is-sticky-feedback {
    position: fixed;
    z-index: 76;
    left: 12px;
    right: 12px;
    bottom: calc(88px + env(safe-area-inset-bottom));
    margin: 0;
    padding: 12px 14px;
    background: #f7f5ef;
    border: 1px solid #cbb67b;
    box-shadow: 0 10px 28px rgba(19, 21, 19, .16);
  }
  .product-page .pdp-collapsible > summary {
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
    min-height: 72px;
    padding: 14px 20px;
  }
  .product-page .pdp-collapsible > summary span { grid-column: 1 / -1; }
  .product-page .pdp-collapsible > summary strong { font-size: 18px; }
  .product-page .pdp-choice,
  .product-page .pdp-routine,
  .product-page .pdp-safety,
  .product-page .pdp-decision { padding: 34px 20px; }
  .product-page .pdp-final { padding-block: 46px; }
}

@media (max-width: 480px) {
  .shop-page .shop-hero { padding: 34px 14px 22px; }
  .shop-page .shop-tools { position: static; top: auto; padding-inline: 10px; }
  .shop-page .shop-advanced > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    border-bottom: 1px solid var(--dreamy-line);
    color: var(--dreamy-ink);
    font: 600 12px/1.4 var(--dreamy-jp-sans);
    cursor: pointer;
  }
  .shop-page .shop-advanced > summary span {
    color: var(--dreamy-muted);
    font-size: 10px;
    font-weight: 500;
  }
  .shop-page .shop-advanced:not([open]) > .shop-selectors { display: none; }
  .shop-page .shop-advanced[open] > .shop-selectors { margin-top: 12px; }
  .shop-page .catalog { padding-inline: 8px; }
  .shop-page .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .shop-page .shop-card { display: block; min-width: 0; }
  .shop-page .shop-card-media { display: block; aspect-ratio: 1 / .92; min-height: 0; }
  .shop-page .shop-card-media img { width: 100%; height: 100%; object-fit: contain; padding: 6%; }
  .shop-page .shop-card-body { display: block; padding: 10px 9px; }
  .shop-page .shop-card-body > small { font-size: 10px; }
  .shop-page .shop-card h2 { min-height: 2.8em; margin-top: 4px; font-size: 14px; line-height: 1.4; }
  .shop-page .shop-card-body > p:first-of-type,
  .shop-page .shop-card-target,
  .shop-page .shop-card-variation,
  .shop-page .shop-shipping-note { display: none !important; }
  .shop-page .shop-card .price { padding-top: 8px; font-size: 16px; }
  .shop-page .shop-variation-control { margin-top: 8px; }
  .shop-page .shop-variation-control span { font-size: 8px; }
  .shop-page .shop-variation-select { min-height: 44px; padding-inline: 7px 25px; font-size: 11px; }
  .shop-page .shop-card-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-page .shop-quick-add { grid-column: 1 / -1; min-height: 44px; font-size: 11px; }
  .shop-page .shop-card-actions .compare-link,
  .shop-page .shop-card-actions .favorite-button { min-height: 44px; padding: 5px 2px; font-size: 10px; }
  .shop-page .shop-card-actions .view { display: none; }
  .shop-page .routine-section { padding: 42px 12px; }
  .shop-page .routine-card { padding: 20px 14px; }
  .shop-page .routine-card h3 { font-size: 22px; }

  .home-page #featured .featured-swipe-hint {
    display: block;
    margin: -12px 18px 18px;
    color: var(--dreamy-muted);
    font: 500 1.1rem/1.5 var(--dreamy-jp-sans);
    letter-spacing: .04em;
  }
  .home-page #featured .product-grid {
    display: flex !important;
    grid-template-columns: none !important;
    grid-auto-flow: unset !important;
    gap: 12px;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    padding: 0 18px 12px;
    margin-inline: -18px;
    scrollbar-width: thin;
  }
  .home-page #featured .product-card {
    flex: 0 0 min(84vw, 330px);
    scroll-snap-align: start;
    min-width: 0;
  }
  .home-page #featured .product-img { aspect-ratio: 4 / 3; }
  .home-page #featured .product-body { padding: 18px 16px 20px; }
  .home-page #featured .product-name { font-size: 1.8rem; }

  .home-page .home-library-grid,
  .home-page [aria-labelledby="knowledge-heading"] .discover-grid {
    display: flex;
    grid-template-columns: none;
  }
  .home-page .site-footer { padding-bottom: 30px; }

  .product-page .pdp-details { grid-template-columns: 1fr; }
  .product-page .pdp-details article { padding: 26px 20px; }
}

.required-label {
  display: inline-block;
  margin-left: 6px;
  color: #8a302a;
  font-size: .9em;
  font-weight: 600;
  letter-spacing: .08em;
}
.checkout-final-review {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid var(--dreamy-line);
  background: var(--dreamy-white);
  color: var(--dreamy-ink);
}
.checkout-final-review h3 { margin: 0 0 10px; font: 500 1.5rem/1.4 var(--dreamy-jp-serif); }
.checkout-final-review p { margin: 8px 0; font-size: 1.15rem; line-height: 1.7; }
.checkout-final-review a { color: var(--dreamy-bronze-dark); text-decoration: underline; text-underline-offset: 3px; }
.checkout-consent { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; margin-top: 14px; }
.checkout-consent input { width: 22px; height: 22px; margin-top: 2px; }

/* Defer layout/paint for long below-fold HOME sections while keeping full crawlable DOM. */
.home-page main > section:nth-of-type(n+4) {
  content-visibility: auto;
  contain-intrinsic-size: auto 900px;
}

/* WCAG and touch-target corrections from the 2026-08-29 full-site audit. */
.home-page .b2b-card:not(.featured) .b2b-price { color: #e8c77a; }
.home-page .b2b-card.featured .b2b-price { color: #6f4d16; }
.shop-page > footer { background: #20251e; color: #f7f5ef; }
.shop-page > footer > div > a,
.shop-page > footer > div > a:nth-last-child(-n+4),
.shop-page > footer > small { color: #d8d4cc; }
.shop-page article[data-routine-id="long-coat"] .routine-card-head small { color: #625b52; }
.shop-page #cart-empty { color: #625b52; }
.home-page .btn-gold { background: #71531e; border-color: #71531e; color: #fff; }
.home-page #featured .section-header > p,
.home-page .compact-header > p,
.home-page .discover-card > p,
.home-page .knowledge-link-card > p { color: #625b52; opacity: 1; }
@media (max-width: 700px) {
  .home-page #cart-icon-btn, .home-page #hamburger-btn {
    min-width: 44px;
    min-height: 44px;
  }
  .shop-page .shop-advanced > summary {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px;
    border-bottom: 1px solid var(--dreamy-line);
    color: var(--dreamy-ink);
    font: 600 12px/1.4 var(--dreamy-jp-sans);
    cursor: pointer;
  }
  .shop-page .shop-advanced > summary span {
    color: var(--dreamy-muted);
    font-size: 10px;
    font-weight: 500;
  }
  .shop-page .shop-advanced:not([open]) > .shop-selectors { display: none; }
  .shop-page .shop-advanced[open] > .shop-selectors { margin-top: 12px; }
}

@media (prefers-reduced-motion: reduce) {
  .home-page *, .shop-page *, .product-page * { scroll-behavior: auto !important; }
}
