/** Shopify CDN: Minification failed

Line 2246:0 Unexpected "@keyframes"

**/
/* ═══════════════════════════════════════════════════════════════
   Aki · persimmon tannin soap
   Type    EB Garamond 600 (tracked) · Inter · Shippori Mincho for kanji
   Colour  sage paper · olive-black ink · deep pine · persimmon rust
   Devices kanji section marks · hanko seal · 〇△× · the shape of a day
   Single deliberate world: brand pages render identically for every viewer.
   ═══════════════════════════════════════════════════════════════ */
  :root {
    --paper: #edefe8;
    --paper-2: #e4e7de;
    --white: #fbfcf9;
    --ink: #1b1e19;
    --ink-2: #333830;
    --muted: #5b6057;
    --line: #d3d7ca;
    --line-2: #e1e4da;
    --rust: #a34a21;
    --rust-dk: #7a3517;
    --rust-bg: #f6ede7;
    --rust-lt: #db8b5e;
    --deep: #243027;
    --on-deep: #e6eae0;
    --on-deep-2: #a9b3a4;
    --grain: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='g'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .1  0 0 0 0 .12  0 0 0 0 .09  0 0 0 .06 0'/></filter><rect width='180' height='180' filter='url(%23g)'/></svg>");
    --pad-mo: clamp(16px, 2.2vw, 26px);
  }
  * {
    box-sizing: border-box;
  }
  html,
  body {
    margin: 0;
    overflow-x: clip;
  }
  body {
    background-color: var(--paper);
    background-image: var(--grain);
    color: var(--ink);
    font-family:
      "Inter",
      system-ui,
      -apple-system,
      sans-serif;
    font-size: 17.5px;
    line-height: 1.72;
    -webkit-font-smoothing: antialiased;
  }
  img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
  }
  p {
    margin: 0;
  }
  button {
    font-family: inherit;
  }
  .wrap {
    max-width: 1160px;
    margin: 0 auto;
    padding-inline: 24px;
  }
  .sec {
    padding-block: clamp(66px, 8vw, 112px);
  }
  .sec-sm {
    padding-block: clamp(46px, 5.4vw, 76px);
  }
  .flow > * + * {
    margin-top: 20px;
  }
  [hidden] {
    display: none !important;
  }
  .kj {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
  }

  h1,
  h2,
  h3 {
    font-family: "EB Garamond", Georgia, serif;
    font-weight: 600;
    letter-spacing: 0.035em;
    margin: 0;
    text-wrap: balance;
    color: var(--ink);
  }
  h1 {
    font-size: clamp(40px, 5.8vw, 70px);
    line-height: 1.06;
  }
  h2 {
    font-size: clamp(30px, 4vw, 46px);
    line-height: 1.12;
    margin-bottom: 20px;
  }
  h3 {
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: 0.025em;
  }
  h1 em,
  h2 em {
    font-style: italic;
    font-weight: 500;
    color: var(--rust);
    letter-spacing: 0.01em;
  }
  .lead {
    font-size: 19.5px;
    line-height: 1.66;
    color: var(--ink-2);
  }
  .muted {
    color: var(--muted);
  }
  .label {
    display: flex;
    align-items: center;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--rust);
    margin: 0 0 20px;
  }
  .label .num {
    font-family: "Shippori Mincho", serif;
    font-size: 15px;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
  }
  .label .num::after {
    content: "";
    width: 26px;
    height: 1px;
    background: currentColor;
    opacity: 0.45;
    margin: 0 13px;
  }
  .center .label {
    justify-content: center;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    text-decoration: none;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: 0.02em;
    background: var(--rust);
    color: var(--white);
    padding: 17px 32px;
    min-height: 56px;
    border: 1px solid var(--rust);
    cursor: pointer;
    transition:
      background 0.18s,
      border-color 0.18s,
      color 0.18s;
  }
  .btn:hover {
    background: var(--rust-dk);
    border-color: var(--rust-dk);
  }
  .btn .ar {
    transition: transform 0.2s;
  }
  .btn:hover .ar {
    transform: translateX(4px);
  }
  .btn.wide {
    width: 100%;
  }
  a:focus-visible,
  button:focus-visible,
  summary:focus-visible,
  input:focus-visible {
    outline: 2px solid var(--rust);
    outline-offset: 3px;
  }

  
  
  
  
  
  

  .ann {
    background: var(--ink);
    color: #d8dbd2;
  }
  .ann .wrap {
    display: flex;
    justify-content: center;
    gap: 12px 34px;
    flex-wrap: wrap;
    padding-block: 10px;
    font-size: 12.5px;
    letter-spacing: 0.06em;
  }
  .ann i {
    font-style: normal;
    font-family: "Shippori Mincho", serif;
    color: var(--rust-lt);
    margin-right: 8px;
  }
  .nav {
    position: sticky;
    top: env(safe-area-inset-top, 0px);
    z-index: 50;
    background: rgba(237, 239, 232, 0.9);
    -webkit-backdrop-filter: saturate(1.2) blur(10px);
    backdrop-filter: saturate(1.2) blur(10px);
    border-bottom: 1px solid var(--line);
  }
  .nav .wrap {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 20px;
    padding-block: 17px;
  }
  .nl {
    display: flex;
    gap: 26px;
    font-size: 14.5px;
    color: var(--muted);
    flex-wrap: wrap;
  }
  .nl a {
    color: inherit;
    text-decoration: none;
  }
  .nl a:hover {
    color: var(--ink);
  }
  .wm {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 27px;
    letter-spacing: 0.24em;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    justify-self: center;
  }
  .wm .kj {
    font-size: 17px;
    letter-spacing: 0;
    color: var(--rust);
  }
  .cart {
    justify-self: end;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    font-size: 14.5px;
    color: var(--ink);
  }
  .cart b {
    min-width: 22px;
    height: 22px;
    border-radius: 11px;
    background: var(--ink);
    color: var(--white);
    font-size: 12px;
    display: grid;
    place-content: center;
    padding-inline: 6px;
  }
  @media (max-width: 700px) {
    .nav .nl {
      display: none;
    }
    .nav .wrap {
      grid-template-columns: auto 1fr;
    }
    .wm {
      justify-self: start;
    }
  }

  .hero {
    position: relative;
    overflow: hidden;
  }
  .hero .wmk {
    position: absolute;
    left: -3%;
    top: -4%;
    font-family: "Shippori Mincho", serif;
    font-size: clamp(280px, 40vw, 560px);
    line-height: 1;
    color: var(--ink);
    opacity: 0.035;
    pointer-events: none;
    user-select: none;
  }
  .hero-grid {
    position: relative;
    display: grid;
    gap: clamp(36px, 5vw, 76px);
    align-items: center;
    padding-block: clamp(44px, 6vw, 90px);
  }
  @media (min-width: 880px) {
    .hero-grid {
      grid-template-columns: 1.05fr 0.95fr;
    }
  }
  .hero .lead {
    margin-top: 22px;
    max-width: 40ch;
  }
  .hero .btn {
    margin-top: 32px;
  }
  .hero .note {
    margin-top: 18px;
    font-size: 13.5px;
    color: var(--muted);
    letter-spacing: 0.03em;
  }
  .hero-pic {
    position: relative;
    max-width: 500px;
    justify-self: center;
    width: 100%;
  }
  .hero-pic > img {
    aspect-ratio: 4/5;
    object-fit: cover;
    border: 1px solid var(--line);
  }
  .seal-b {
    position: absolute;
    top: -16px;
    left: -16px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: var(--rust);
    color: var(--white);
    display: grid;
    place-content: center;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-size: 27px;
    line-height: 1;
    box-shadow: 0 0 0 6px var(--paper);
    transform: rotate(-8deg);
  }
  .seal-b small {
    display: block;
    font-family: "Inter", sans-serif;
    font-size: 8.5px;
    letter-spacing: 0.22em;
    margin-top: 6px;
  }
  .tagcard {
    position: absolute;
    right: -14px;
    bottom: 28px;
    background: var(--white);
    border: 1px solid var(--line);
    padding: 14px 18px;
    box-shadow: 0 18px 36px -22px rgba(27, 30, 25, 0.55);
    min-width: 176px;
  }
  .tagcard b {
    display: block;
    font-family: "EB Garamond", serif;
    font-size: 20px;
    letter-spacing: 0.03em;
  }
  .tagcard span {
    font-size: 12.5px;
    color: var(--muted);
  }
  .tagcard em {
    font-style: normal;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 21px;
    color: var(--rust);
    display: block;
    margin-top: 4px;
  }

  .marq {
    background: var(--ink);
    color: #dde1d6;
    overflow: hidden;
  }
  .marq-in {
    display: flex;
    width: max-content;
    animation: mq 42s linear infinite;
  }
  .marq span {
    padding-block: 15px;
    font-family: "EB Garamond", serif;
    font-size: 19px;
    letter-spacing: 0.05em;
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
  }
  .marq i {
    font-style: normal;
    font-family: "Shippori Mincho", serif;
    color: var(--rust-lt);
    margin-inline: 28px;
    font-size: 15px;
  }
  @keyframes mq {
    to {
      transform: translateX(-50%);
    }
  }

  .head-c {
    text-align: center;
    max-width: 640px;
    margin: 0 auto clamp(34px, 4vw, 52px);
  }
  .head-c p.sub {
    font-size: 17.5px;
    color: var(--muted);
    line-height: 1.62;
  }
  .split {
    display: grid;
    gap: 18px 64px;
    align-items: end;
    margin-bottom: clamp(34px, 4vw, 52px);
  }
  @media (min-width: 880px) {
    .split {
      grid-template-columns: 1.05fr 0.95fr;
    }
  }
  .bg-white {
    background: var(--white);
  }
  .bg-deep {
    background: var(--deep);
    color: var(--on-deep);
  }
  .bg-deep h2 {
    color: var(--white);
  }
  .bg-deep h2 em {
    color: var(--rust-lt);
  }
  .bg-deep .label {
    color: var(--rust-lt);
  }
  .bg-deep .lead,
  .bg-deep .split p {
    color: var(--on-deep-2);
  }
  .bg-ink {
    background: var(--ink);
    color: #e4e7de;
  }
  .hair {
    border-block: 1px solid var(--line);
  }

  .cards {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .card {
    background: var(--white);
    border: 1px solid var(--line);
    display: flex;
    flex-direction: column;
    transition:
      transform 0.25s,
      box-shadow 0.25s;
  }
  .card:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 44px -30px rgba(27, 30, 25, 0.55);
  }
  .card .pic {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1;
    background: var(--paper-2);
  }
  .card .pic img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition:
      opacity 0.4s,
      transform 0.7s;
  }
  .card .pic .alt {
    opacity: 0;
  }
  .card:hover .pic .alt {
    opacity: 1;
  }
  .card:hover .pic img {
    transform: scale(1.035);
  }
  .badge {
    position: absolute;
    z-index: 2;
    top: 14px;
    left: 14px;
    background: var(--ink);
    color: var(--white);
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    padding: 6px 11px;
  }
  .card .kjc {
    position: absolute;
    z-index: 2;
    right: 14px;
    bottom: 14px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(251, 252, 249, 0.92);
    border: 1px solid var(--line);
    display: grid;
    place-content: center;
    font-family: "Shippori Mincho", serif;
    color: var(--rust);
    font-size: 17px;
  }
  .card .body {
    padding: 22px 22px 24px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
  }
  .card h3 {
    font-size: 25px;
  }
  .card .spec {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--muted);
    flex: 1;
  }
  .card .pr {
    display: flex;
    align-items: baseline;
    gap: 11px;
    flex-wrap: wrap;
    margin-top: 4px;
  }
  .card .pr em {
    font-style: normal;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 27px;
    letter-spacing: 0.02em;
  }
  .card .pr s {
    color: #9aa093;
    font-size: 17px;
  }
  .card .pr small {
    margin-left: auto;
    font-size: 12.5px;
    color: var(--muted);
  }
  .card .btn {
    width: 100%;
    margin-top: 6px;
    padding: 14px 18px;
    min-height: 52px;
    font-size: 15px;
  }

  .setp {
    margin-top: 22px;
    display: grid;
    background: var(--white);
    border: 1px solid var(--rust);
    overflow: hidden;
  }
  @media (min-width: 880px) {
    .setp {
      grid-template-columns: 0.95fr 1.05fr;
    }
  }
  .setp .img {
    position: relative;
    min-height: 300px;
  }
  .setp .img img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
  }
  .setp .txt {
    padding: clamp(26px, 3.6vw, 44px);
    background: var(--rust-bg);
  }
  .tagm {
    display: inline-block;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--rust);
    border: 1px solid var(--rust);
    padding: 4px 9px;
    margin-bottom: 14px;
  }
  .setp h3 {
    font-size: clamp(28px, 3.2vw, 36px);
    margin-bottom: 10px;
  }
  .setp p {
    font-size: 16px;
    color: var(--ink-2);
    max-width: 44ch;
  }
  .combo {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 24px 0;
    flex-wrap: wrap;
  }
  .combo figure {
    margin: 0;
    text-align: center;
  }
  .combo img {
    width: 74px;
    height: 74px;
    object-fit: cover;
    border: 1px solid var(--line);
    background: var(--white);
  }
  .combo figcaption {
    font-size: 11.5px;
    color: var(--muted);
    margin-top: 6px;
    letter-spacing: 0.04em;
  }
  .combo b {
    font-family: "EB Garamond", serif;
    font-size: 26px;
    color: var(--rust);
    font-weight: 500;
    padding-bottom: 22px;
  }
  .buyrow {
    display: flex;
    align-items: center;
    gap: 18px 24px;
    flex-wrap: wrap;
  }
  .buyrow em {
    font-style: normal;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 36px;
    letter-spacing: 0.02em;
  }
  .buyrow s {
    color: #9aa093;
    font-size: 19px;
    margin-left: 8px;
  }
  .buyrow .save {
    display: block;
    font-size: 13.5px;
    color: var(--rust);
    font-weight: 600;
    margin-top: 2px;
  }

  .trust {
    background: var(--white);
    border-block: 1px solid var(--line);
  }
  .trust .wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 26px;
    padding-block: 34px;
  }
  .tr {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 15px;
    align-items: start;
  }
  .disc {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 1px solid var(--rust);
    background: var(--rust-bg);
    display: grid;
    place-content: center;
    font-family: "Shippori Mincho", serif;
    font-size: 21px;
    color: var(--rust);
  }
  .tr b {
    display: block;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 20.5px;
    letter-spacing: 0.03em;
    line-height: 1.3;
  }
  .tr span {
    font-size: 14px;
    color: var(--muted);
    line-height: 1.55;
  }

  .tl {
    background: var(--white);
    border: 1px solid var(--line);
    color: var(--ink);
    box-shadow: 0 40px 70px -46px rgba(0, 0, 0, 0.55);
  }
  .tl-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px 24px;
    flex-wrap: wrap;
    padding: 24px var(--pad-mo) 0;
  }
  .tl-head .t {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 22px;
    letter-spacing: 0.035em;
  }
  .keys {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 13px;
    color: var(--muted);
  }
  .keys span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
  }
  .keys i {
    width: 24px;
    height: 3px;
    display: block;
  }
  .rail2 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 34px;
  }
  .rc {
    position: relative;
    height: 46px;
  }
  .rc::before,
  .rc::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 3px;
  }
  .rc::before {
    top: 13px;
    background: var(--rust);
  }
  .rc::after {
    top: 31px;
    background: #b9bfb2;
  }
  .rc.fade::after {
    background: repeating-linear-gradient(
      90deg,
      #c9cec2 0 3px,
      transparent 3px 11px
    );
  }
  .rc:first-child::before,
  .rc:first-child::after {
    left: var(--pad-mo);
  }
  .rc:last-child::before,
  .rc:last-child::after {
    right: var(--pad-mo);
  }
  .rc .d {
    position: absolute;
    left: var(--pad-mo);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    margin-top: -6px;
    z-index: 1;
  }
  .rc .d.t {
    top: 14.5px;
    background: var(--rust);
  }
  .rc .d.o {
    top: 32.5px;
    background: #b9bfb2;
  }
  .rc .d.x {
    top: 32.5px;
    background: var(--white);
    border: 2px solid #c2c7bb;
  }
  .rc .flag {
    position: absolute;
    left: var(--pad-mo);
    top: -22px;
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--rust);
    white-space: nowrap;
  }
  .moments {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .mo {
    padding: 20px var(--pad-mo) 26px;
    border-left: 1px solid var(--line-2);
    position: relative;
  }
  .mo:first-child {
    border-left: 0;
  }
  .mo.hot {
    background: linear-gradient(
      180deg,
      var(--rust-bg) 0%,
      rgba(246, 237, 231, 0) 85%
    );
  }
  .mo .kjbg {
    position: absolute;
    top: 8px;
    right: 14px;
    font-family: "Shippori Mincho", serif;
    font-size: 58px;
    line-height: 1;
    color: var(--rust);
    opacity: 0.1;
    pointer-events: none;
  }
  .mo .hour {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: clamp(28px, 3vw, 38px);
    letter-spacing: 0.03em;
    line-height: 1;
    display: block;
  }
  .mo .when {
    font-size: 11.5px;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: var(--muted);
    margin-top: 10px;
    display: block;
  }
  .mo .state {
    margin-top: 22px;
    padding-top: 16px;
    border-top: 1px solid var(--line-2);
  }
  .mo .state:first-of-type {
    border-top: 0;
    padding-top: 0;
  }
  .mo .who2 {
    font-size: 10.5px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--muted);
    display: block;
    margin-bottom: 9px;
  }
  .chip {
    display: inline-block;
    font-size: 11.5px;
    font-weight: 600;
    letter-spacing: 0.09em;
    text-transform: uppercase;
    padding: 4px 10px;
    border: 1px solid var(--line);
    color: var(--muted);
    background: var(--paper);
  }
  .chip.hold {
    border-color: var(--rust);
    color: var(--rust);
    background: var(--rust-bg);
  }
  .chip.gone {
    border-color: #c9cec2;
    color: #8d9387;
    background: #f2f3ef;
    text-decoration: line-through;
  }
  .mo .said {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--ink-2);
    margin-top: 11px;
  }
  .tl-foot {
    padding: 18px var(--pad-mo) 22px;
    border-top: 1px solid var(--line-2);
    font-size: 12.5px;
    line-height: 1.6;
    color: var(--muted);
  }
  @media (max-width: 860px) {
    .rail2 {
      display: none;
    }
    .moments {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .mo:nth-child(3) {
      border-left: 0;
    }
    .mo:nth-child(n + 3) {
      border-top: 1px solid var(--line-2);
    }
  }
  @media (max-width: 520px) {
    .moments {
      grid-template-columns: minmax(0, 1fr);
    }
    .mo {
      border-left: 0;
      border-top: 1px solid var(--line-2);
    }
    .mo:first-child {
      border-top: 0;
    }
  }

  .stations {
    display: grid;
    gap: 34px;
    position: relative;
    margin-top: 14px;
  }
  @media (min-width: 860px) {
    .stations {
      grid-template-columns: repeat(3, 1fr);
    }
    .stations::before {
      content: "";
      position: absolute;
      top: 34px;
      left: 16.66%;
      right: 16.66%;
      height: 1px;
      background: repeating-linear-gradient(
        90deg,
        var(--rust) 0 6px,
        transparent 6px 13px
      );
      opacity: 0.55;
    }
  }
  .st {
    text-align: center;
    padding-inline: 10px;
  }
  .st .disc2 {
    width: 68px;
    height: 68px;
    border-radius: 50%;
    margin: 0 auto 22px;
    background: var(--white);
    border: 1px solid var(--rust);
    display: grid;
    place-content: center;
    font-family: "Shippori Mincho", serif;
    font-size: 27px;
    color: var(--rust);
    position: relative;
    z-index: 1;
    box-shadow: 0 0 0 9px var(--paper);
  }
  .st h3 {
    margin-bottom: 10px;
  }
  .st p {
    font-size: 16px;
    line-height: 1.68;
    color: var(--ink-2);
    max-width: 31ch;
    margin-inline: auto;
  }
  .pullq {
    border-left: 3px solid var(--rust);
    padding: 4px 0 4px 26px;
  }
  .pullq p {
    font-family: "EB Garamond", serif;
    font-size: clamp(22px, 2.4vw, 27px);
    line-height: 1.45;
    letter-spacing: 0.015em;
    color: var(--ink);
  }

  .duo {
    display: grid;
    gap: clamp(32px, 5vw, 72px);
    align-items: center;
  }
  @media (min-width: 860px) {
    .duo {
      grid-template-columns: 1fr 1fr;
    }
  }
  .pic-q {
    position: relative;
    padding-bottom: 30px;
  }
  .pic-q > img {
    aspect-ratio: 4/5;
    object-fit: cover;
    border: 1px solid var(--line);
  }
  .qcard {
    position: absolute;
    right: -12px;
    bottom: 0;
    max-width: 300px;
    background: var(--white);
    border: 1px solid var(--line);
    padding: 18px 20px;
    box-shadow: 0 20px 40px -26px rgba(27, 30, 25, 0.55);
  }
  .qcard p {
    font-family: "EB Garamond", serif;
    font-size: 18.5px;
    line-height: 1.5;
  }
  .qcard span {
    display: block;
    margin-top: 9px;
    font-size: 12px;
    letter-spacing: 0.07em;
    color: var(--muted);
  }
  .dial {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    padding: 20px;
    background: var(--paper);
    border: 1px solid var(--line);
  }
  .dial svg {
    width: 84px;
    height: 84px;
    flex: none;
  }
  .dial b {
    display: block;
    font-family: "EB Garamond", serif;
    font-size: 21px;
    letter-spacing: 0.03em;
  }
  .dial span {
    font-size: 14.5px;
    color: var(--muted);
  }
  .zones {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
    margin-top: 16px;
  }
  .zones span {
    font-size: 12.5px;
    letter-spacing: 0.06em;
    border: 1px solid var(--line);
    background: var(--paper);
    padding: 6px 13px;
    color: var(--ink-2);
  }

  .stepsi {
    display: grid;
    gap: 22px;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
  .si {
    background: var(--white);
    border: 1px solid var(--line);
  }
  .si .ph {
    position: relative;
  }
  .si .ph img {
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .si .n {
    position: absolute;
    left: 16px;
    top: 16px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--white);
    border: 1px solid var(--rust);
    color: var(--rust);
    font-family: "Shippori Mincho", serif;
    font-size: 20px;
    display: grid;
    place-content: center;
  }
  .si .b {
    padding: 22px 22px 24px;
  }
  .si h3 {
    margin-bottom: 9px;
  }
  .si p {
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--ink-2);
  }
  .pill {
    display: inline-block;
    margin-left: 8px;
    font-family: "Inter", sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--rust);
    border: 1px solid var(--rust);
    background: var(--rust-bg);
    padding: 3px 8px;
    vertical-align: 4px;
  }

  .vs {
    border: 1px solid var(--line);
    background: var(--white);
  }
  .vs-scroll {
    overflow-x: auto;
  }
  .vs table {
    width: 100%;
    border-collapse: collapse;
    min-width: 620px;
  }
  .vs th,
  .vs td {
    padding: 0;
    vertical-align: middle;
  }
  .vs .crit {
    padding: 20px 22px;
    width: 44%;
    text-align: left;
  }
  .vs .crit b {
    display: block;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 19.5px;
    letter-spacing: 0.025em;
    line-height: 1.3;
  }
  .vs .crit s {
    display: block;
    text-decoration: none;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--muted);
    margin-top: 6px;
  }
  .vs .cell {
    text-align: center;
    padding: 20px 12px;
    width: 18.6%;
  }
  .vs thead .cell {
    padding: 18px 12px;
    font-size: 12.5px;
    letter-spacing: 0.13em;
    text-transform: uppercase;
    color: var(--muted);
    font-weight: 600;
    vertical-align: bottom;
  }
  .vs thead .ours {
    padding-top: 0;
  }
  .vs .ours {
    background: var(--rust-bg);
  }
  .vs thead .ours .cap2 {
    display: block;
    font-family: "Shippori Mincho", serif;
    font-size: 15px;
    background: var(--rust);
    color: var(--white);
    padding: 7px 0;
    letter-spacing: 0.2em;
  }
  .vs thead .ours .nm {
    display: block;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 21px;
    letter-spacing: 0.04em;
    color: var(--ink);
    text-transform: none;
    margin-top: 12px;
  }
  .vs tbody tr {
    border-top: 1px solid var(--line-2);
  }
  .vs tbody tr:hover td {
    background: rgba(237, 239, 232, 0.5);
  }
  .vs tbody tr:hover td.ours {
    background: #f2e4da;
  }
  .mk {
    font-family: "Shippori Mincho", serif;
    font-size: 24px;
    line-height: 1;
    display: inline-block;
  }
  .mk.y {
    color: var(--rust);
  }
  .mk.p {
    color: #8d9387;
  }
  .mk.n {
    color: #c2c7bb;
  }
  .mk s {
    display: block;
    text-decoration: none;
    font-family: "Inter", sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.06em;
    margin-top: 8px;
    color: var(--muted);
  }
  .vs-key {
    display: flex;
    gap: 26px;
    flex-wrap: wrap;
    padding: 18px 22px;
    border-top: 1px solid var(--line-2);
    font-size: 13px;
    color: var(--muted);
  }
  .vs-key span {
    display: inline-flex;
    align-items: center;
    gap: 9px;
  }
  .vs-key i {
    font-family: "Shippori Mincho", serif;
    font-style: normal;
    font-size: 17px;
  }

  .sample {
    display: inline-block;
    margin-top: 14px;
    font-size: 12px;
    letter-spacing: 0.06em;
    color: var(--muted);
    border: 1px dashed #bfc4b7;
    padding: 5px 11px;
  }
  .rv-feat {
    display: grid;
    background: var(--white);
    border: 1px solid var(--line);
    margin: 0;
  }
  @media (min-width: 820px) {
    .rv-feat {
      grid-template-columns: 0.9fr 1.1fr;
    }
  }
  .rv-feat > img {
    height: 100%;
    min-height: 300px;
    object-fit: cover;
  }
  .rv-feat blockquote {
    margin: 0;
    padding: clamp(28px, 4vw, 52px);
    position: relative;
    align-self: center;
  }
  .rv-feat blockquote::before {
    content: "\201C";
    position: absolute;
    top: clamp(4px, 1.2vw, 16px);
    left: clamp(18px, 2.6vw, 36px);
    font-family: "EB Garamond", serif;
    font-size: 120px;
    line-height: 1;
    color: var(--rust);
    opacity: 0.22;
  }
  .rv-feat blockquote p {
    font-family: "EB Garamond", serif;
    font-size: clamp(23px, 2.6vw, 30px);
    line-height: 1.42;
    letter-spacing: 0.012em;
    position: relative;
  }
  .rv-row {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    margin-top: 20px;
  }
  .rv-s {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    background: var(--white);
    border: 1px solid var(--line);
  }
  .rv-s > img {
    height: 100%;
    min-height: 150px;
    object-fit: cover;
  }
  .rv-s blockquote {
    margin: 0;
    padding: 22px;
  }
  .rv-s blockquote p {
    font-family: "EB Garamond", serif;
    font-size: 19px;
    line-height: 1.5;
  }
  .who {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-top: 18px;
  }
  .who img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
  }
  .who span {
    font-size: 13px;
    color: var(--muted);
    letter-spacing: 0.05em;
  }

  .cert {
    display: grid;
    border: 1px solid rgba(255, 255, 255, 0.14);
    position: relative;
    overflow: hidden;
  }
  @media (min-width: 880px) {
    .cert {
      grid-template-columns: 1.12fr 0.88fr;
    }
  }
  .cert-in {
    position: relative;
    padding: clamp(34px, 4.6vw, 62px);
    box-shadow:
      inset 0 0 0 10px var(--ink),
      inset 0 0 0 11px rgba(255, 255, 255, 0.1);
  }
  .cert .wmk2 {
    position: absolute;
    right: -2%;
    bottom: -18%;
    font-family: "Shippori Mincho", serif;
    font-size: clamp(220px, 28vw, 380px);
    line-height: 1;
    color: #ffffff;
    opacity: 0.04;
    pointer-events: none;
  }
  .hanko {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 72px;
    height: 72px;
    border: 2px solid var(--rust-lt);
    color: var(--rust-lt);
    border-radius: 8px;
    display: grid;
    place-content: center;
    text-align: center;
    font-family: "Shippori Mincho", serif;
    font-size: 28px;
    line-height: 1;
    transform: rotate(7deg);
    opacity: 0.9;
  }
  .hanko small {
    display: block;
    font-family: "Inter", sans-serif;
    font-size: 8px;
    letter-spacing: 0.24em;
    margin-top: 5px;
  }
  .cert .label {
    color: var(--rust-lt);
  }
  .cert h2 {
    color: var(--white);
    max-width: 13ch;
  }
  .cert h2 em {
    color: var(--rust-lt);
  }
  .cert p {
    color: #aeb3a7;
    font-size: 17px;
    line-height: 1.72;
    max-width: 46ch;
  }
  .cert-pts {
    list-style: none;
    margin: 26px 0 32px;
    padding: 0;
    display: grid;
    gap: 12px;
  }
  .cert-pts li {
    display: flex;
    gap: 14px;
    align-items: center;
    font-size: 15.5px;
    color: #dce0d5;
  }
  .cert-pts i {
    font-style: normal;
    font-family: "Shippori Mincho", serif;
    color: var(--rust-lt);
    font-size: 17px;
  }
  .cert .btn {
    background: var(--white);
    color: var(--ink);
    border-color: var(--white);
  }
  .cert .btn:hover {
    background: var(--rust);
    color: var(--white);
    border-color: var(--rust);
  }
  .cert-img {
    position: relative;
    min-height: 300px;
  }
  .cert-img img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
  }

  .faq2 {
    display: grid;
    gap: 34px 70px;
    align-items: start;
  }
  @media (min-width: 900px) {
    .faq2 {
      grid-template-columns: 0.78fr 1.22fr;
    }
    .faq-side {
      position: sticky;
      top: 110px;
    }
  }
  .ask {
    margin-top: 26px;
    background: var(--white);
    border: 1px solid var(--line);
    padding: 24px;
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 16px;
    align-items: start;
  }
  .ask b {
    display: block;
    font-family: "EB Garamond", serif;
    font-size: 20px;
    letter-spacing: 0.03em;
  }
  .ask p {
    font-size: 14.5px;
    color: var(--muted);
    line-height: 1.6;
    margin-top: 4px;
  }
  .ask a {
    color: var(--rust);
    font-weight: 600;
    text-decoration: none;
    font-size: 14.5px;
    display: inline-block;
    margin-top: 10px;
  }
  .qa {
    border-top: 1px solid var(--line);
  }
  .qa details {
    border-bottom: 1px solid var(--line);
    transition:
      background 0.16s,
      box-shadow 0.16s;
  }
  .qa details:hover {
    background: var(--white);
  }
  .qa details[open] {
    background: var(--white);
    box-shadow: inset 3px 0 0 var(--rust);
  }
  .qa summary {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) 26px;
    gap: 16px;
    align-items: baseline;
    padding: 22px clamp(14px, 2vw, 22px);
    cursor: pointer;
    list-style: none;
  }
  .qa summary::-webkit-details-marker {
    display: none;
  }
  .qa .n {
    font-family: "Shippori Mincho", serif;
    font-size: 15px;
    color: var(--rust);
  }
  .qa .q {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: clamp(19px, 2.1vw, 22px);
    letter-spacing: 0.025em;
    line-height: 1.3;
  }
  .qa .pm {
    justify-self: end;
    color: var(--rust);
    font-size: 22px;
    line-height: 1.1;
  }
  .qa .pm::after {
    content: "+";
  }
  .qa details[open] .pm::after {
    content: "\2013";
  }
  .qa .a {
    padding: 0 clamp(14px, 2vw, 22px) 26px 56px;
    font-size: 16.5px;
    line-height: 1.74;
    color: var(--ink-2);
    max-width: 62ch;
  }
  @media (max-width: 520px) {
    .qa summary {
      grid-template-columns: 26px minmax(0, 1fr) 22px;
      gap: 12px;
    }
    .qa .a {
      padding-left: 38px;
    }
  }

  .fx {
    background: var(--ink);
    color: #aeb3a7;
  }
  .ft-top {
    display: grid;
    gap: 34px 60px;
    padding-bottom: 44px;
    border-bottom: 1px solid #333830;
  }
  @media (min-width: 880px) {
    .ft-top {
      grid-template-columns: 1.1fr 0.9fr;
      align-items: end;
    }
  }
  .big-wm {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: clamp(60px, 9vw, 112px);
    letter-spacing: 0.2em;
    color: var(--white);
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 20px;
  }
  .big-wm .kj {
    font-size: 0.42em;
    letter-spacing: 0;
    color: var(--rust-lt);
  }
  .ft-brand p {
    margin-top: 18px;
    max-width: 40ch;
    font-size: 15.5px;
    line-height: 1.65;
  }
  .news label {
    display: block;
    font-family: "EB Garamond", serif;
    font-size: 23px;
    color: var(--white);
    letter-spacing: 0.03em;
    margin-bottom: 12px;
  }
  .nf {
    display: flex;
    border: 1px solid #3b4038;
  }
  .nf input {
    flex: 1;
    min-width: 0;
    background: transparent;
    border: 0;
    color: var(--white);
    font: inherit;
    font-size: 15px;
    padding: 15px 16px;
  }
  .nf input::placeholder {
    color: #7e8478;
  }
  .nf button {
    border: 0;
    background: var(--white);
    color: var(--ink);
    font-weight: 600;
    font-size: 14.5px;
    padding: 0 22px;
    cursor: pointer;
  }
  .nf button:hover {
    background: var(--rust);
    color: var(--white);
  }
  .news small {
    display: block;
    margin-top: 10px;
    font-size: 12.5px;
    color: #7e8478;
  }
  .foot {
    display: grid;
    gap: 28px;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    padding-top: 40px;
  }
  .foot h5 {
    margin: 0 0 13px;
    font-size: 11.5px;
    letter-spacing: 0.17em;
    text-transform: uppercase;
    color: #7e8478;
  }
  .foot ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 11px;
    font-size: 15px;
  }
  .foot a {
    color: #aeb3a7;
    text-decoration: none;
  }
  .foot a:hover {
    color: var(--white);
  }
  .legal {
    margin-top: 40px;
    padding-top: 24px;
    border-top: 1px solid #333830;
    font-size: 13px;
    display: flex;
    gap: 22px;
    flex-wrap: wrap;
    color: #7e8478;
  }

  .crumb {
    font-size: 13.5px;
    color: var(--muted);
    padding-top: 22px;
  }
  .crumb a {
    color: var(--muted);
    text-decoration: none;
  }
  .pdp {
    display: grid;
    gap: clamp(30px, 4vw, 64px);
    align-items: start;
    padding-block: 26px clamp(54px, 6vw, 90px);
  }
  @media (min-width: 940px) {
    .pdp {
      grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    }
    .buy {
      position: sticky;
      top: 96px;
    }
  }
  .gal {
    display: grid;
    gap: 12px;
  }
  @media (min-width: 700px) {
    .gal {
      grid-template-columns: 78px minmax(0, 1fr);
    }
  }
  .main-w {
    position: relative;
    border: 1px solid var(--line);
    background: var(--white);
  }
  .main-w img {
    aspect-ratio: 1;
    object-fit: cover;
  }
  .thumbs-v {
    display: flex;
    gap: 10px;
    order: 2;
  }
  @media (min-width: 700px) {
    .thumbs-v {
      flex-direction: column;
      order: 0;
    }
  }
  .thumbs-v button {
    padding: 0;
    border: 1px solid var(--line);
    background: var(--white);
    cursor: pointer;
    line-height: 0;
    flex: 1;
    max-width: 78px;
  }
  .thumbs-v button[aria-current="true"] {
    border-color: var(--rust);
    box-shadow: 0 0 0 1px var(--rust);
  }
  .thumbs-v img {
    aspect-ratio: 1;
    object-fit: cover;
  }
  .buy h1 {
    font-size: clamp(38px, 4.6vw, 52px);
    line-height: 1.05;
    margin-bottom: 8px;
  }
  .buy .sub {
    font-size: 16px;
    color: var(--muted);
    margin-bottom: 22px;
  }
  .pricerow {
    display: flex;
    align-items: baseline;
    gap: 14px;
    flex-wrap: wrap;
  }
  .price {
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 42px;
    letter-spacing: 0.02em;
    line-height: 1;
  }
  .per {
    font-size: 14.5px;
    color: var(--muted);
  }
  .feat3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 24px 0 26px;
    padding-block: 18px;
    border-block: 1px solid var(--line);
  }
  .feat3 div {
    display: flex;
    gap: 11px;
    align-items: center;
    font-size: 13px;
    line-height: 1.35;
    color: var(--ink-2);
  }
  .feat3 i {
    font-style: normal;
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: 1px solid var(--rust);
    background: var(--rust-bg);
    color: var(--rust);
    font-family: "Shippori Mincho", serif;
    font-size: 15px;
    display: grid;
    place-content: center;
  }
  @media (max-width: 460px) {
    .feat3 {
      grid-template-columns: minmax(0, 1fr);
    }
  }
  .opt-lab {
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--muted);
    margin-bottom: 12px;
  }
  .opts {
    display: grid;
    gap: 10px;
    margin-bottom: 22px;
  }
  .opt {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    width: 100%;
    border: 1.5px solid var(--line);
    background: var(--white);
    padding: 15px 18px;
    cursor: pointer;
    text-align: left;
    font-size: 16px;
    color: var(--ink);
    transition:
      border-color 0.15s,
      background 0.15s;
  }
  .opt:hover {
    border-color: #b9bfb2;
  }
  .opt[aria-checked="true"] {
    border-color: var(--rust);
    background: var(--rust-bg);
  }
  .opt .dot {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    border: 1.5px solid #b9bfb2;
    display: block;
  }
  .opt[aria-checked="true"] .dot {
    border-color: var(--rust);
    box-shadow: inset 0 0 0 4px var(--rust);
  }
  .opt b {
    display: block;
    font-weight: 600;
  }
  .opt s {
    display: block;
    text-decoration: none;
    font-size: 13.5px;
    color: var(--muted);
    margin-top: 3px;
  }
  .opt em {
    font-style: normal;
    font-family: "EB Garamond", serif;
    font-weight: 600;
    font-size: 23px;
    white-space: nowrap;
    text-align: right;
  }
  .opt em small {
    display: block;
    font-family: "Inter", sans-serif;
    font-size: 11.5px;
    font-weight: 600;
    color: var(--rust);
    letter-spacing: 0.04em;
  }
  .opt .best {
    display: inline-block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--white);
    background: var(--rust);
    padding: 3px 7px;
    margin-bottom: 6px;
  }
  .ship-note {
    font-size: 13.5px;
    color: var(--muted);
    text-align: center;
    margin-top: 12px;
  }
  .assure {
    list-style: none;
    margin: 20px 0 0;
    padding: 0;
    display: grid;
    gap: 11px;
    font-size: 14.5px;
    color: var(--muted);
  }
  .assure li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 11px;
  }
  .assure i {
    font-style: normal;
    color: var(--rust);
    font-family: "Shippori Mincho", serif;
  }
  .acc {
    margin-top: 26px;
    border-top: 1px solid var(--line);
  }
  .acc details {
    border-bottom: 1px solid var(--line);
  }
  .acc summary {
    cursor: pointer;
    padding-block: 17px;
    font-weight: 600;
    font-size: 15.5px;
    list-style: none;
    display: flex;
    justify-content: space-between;
    gap: 16px;
  }
  .acc summary::-webkit-details-marker {
    display: none;
  }
  .acc summary::after {
    content: "+";
    color: var(--rust);
    font-size: 20px;
    line-height: 1;
  }
  .acc details[open] summary::after {
    content: "\2013";
  }
  .acc .in {
    padding-bottom: 20px;
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--ink-2);
  }

  .sbar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    background: rgba(251, 252, 249, 0.97);
    border-top: 1px solid var(--line);
    box-shadow: 0 -14px 30px -24px rgba(27, 30, 25, 0.5);
    padding: 11px 0 calc(11px + env(safe-area-inset-bottom, 0px));
  }
  .sbar .wrap {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
  }
  .sbar img {
    width: 52px;
    height: 52px;
    object-fit: cover;
    border: 1px solid var(--line);
  }
  .sbar b {
    display: block;
    font-family: "EB Garamond", serif;
    font-size: 20px;
    letter-spacing: 0.03em;
    line-height: 1.2;
  }
  .sbar span {
    font-size: 13.5px;
    color: var(--muted);
  }
  .sbar .btn {
    min-height: 48px;
    padding: 13px 24px;
    font-size: 15px;
  }
  
  

  @media (prefers-reduced-motion: reduce) {
    * {
      transition: none !important;
      animation: none !important;
    }
  }

/* ── PDP buy box v2 ── */
.main-w{overflow:hidden}
.gnav{position:absolute;right:14px;bottom:14px;z-index:2;display:flex;align-items:center;gap:6px;background:rgba(251,252,249,.94);border:1px solid var(--line);padding:4px}
.gnav button{width:34px;height:34px;border:0;background:transparent;cursor:pointer;font-size:17px;color:var(--ink)}
.gnav button:hover{background:var(--paper);color:var(--rust)}
.gnav span{font-size:12.5px;letter-spacing:.08em;color:var(--muted);min-width:40px;text-align:center;font-variant-numeric:tabular-nums}
.gnote{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;align-items:center;margin-top:12px;padding:22px 24px;
  background:var(--white);border:1px solid var(--line);position:relative;overflow:hidden}
@media(min-width:700px){.gnote{grid-column:2}}
.gnote::after{content:"色";position:absolute;right:-6px;bottom:-30px;font-family:"Shippori Mincho",serif;font-size:130px;line-height:1;color:var(--rust);opacity:.06}
.gnote b{display:block;font-family:"EB Garamond",serif;font-weight:600;font-size:21px;letter-spacing:.03em;line-height:1.25}
.gnote p{font-size:14.5px;line-height:1.6;color:var(--muted);margin-top:4px;max-width:46ch}
.gal>.thumbs-v{grid-row:span 2;align-self:start}
.thumbs-v button{flex:none}
@media(max-width:699px){.thumbs-v button{flex:1}}

.buy .label{margin-bottom:14px}
.stock{display:inline-flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2);margin-top:14px}
.stock i{width:8px;height:8px;border-radius:50%;background:#5E7F4F;box-shadow:0 0 0 4px rgba(94,127,79,.16)}
.pricerow .each{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--rust);background:var(--rust-bg);
  border:1px solid rgba(163,74,33,.35);padding:4px 9px}

.feat3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:26px 0 30px;padding:0;border:1px solid var(--line);background:var(--white)}
.feat3 div{flex-direction:column;justify-content:flex-start;text-align:center;gap:10px;padding:18px 10px 16px;font-size:13px;line-height:1.4;border-left:1px solid var(--line-2)}
.feat3 div:first-child{border-left:0}
.feat3 i{width:auto;height:auto;border:0;background:none;font-size:25px;line-height:1}
@media(max-width:460px){.feat3{grid-template-columns:repeat(3,minmax(0,1fr))}.feat3 div{font-size:12px;padding-inline:6px}}

.opt-lab{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.opt-lab span{font-size:12.5px;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--rust)}
.packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:22px 0 14px}
.pk{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:22px 10px 16px;
  background:var(--white);border:1.5px solid var(--line);cursor:pointer;color:var(--ink);font-size:14px;transition:border-color .15s,background .15s,transform .15s}
.pk:hover{border-color:#B9BFB2;transform:translateY(-2px)}
.pk[aria-checked="true"]{border-color:var(--rust);background:var(--rust-bg)}
.pk .rib{position:absolute;top:-11px;left:50%;transform:translateX(-50%);white-space:nowrap;background:var(--rust);color:var(--white);
  font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px}
.pk .chk{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:50%;border:1.5px solid #C2C7BB;background:var(--white);
  display:grid;place-content:center;font-size:11px;color:transparent;line-height:1}
.pk[aria-checked="true"] .chk{background:var(--rust);border-color:var(--rust);color:var(--white)}
.stack{display:flex;justify-content:center;height:58px;margin:4px 0 10px}
.stack img{width:52px;height:52px;object-fit:cover;border:2px solid var(--white);box-shadow:0 6px 12px -8px rgba(27,30,25,.6);background:var(--paper)}
.stack img+img{margin-left:-24px}
.stack img:nth-child(1){transform:rotate(-6deg)}
.stack img:nth-child(2){transform:rotate(3deg) translateY(4px)}
.stack img:nth-child(3){transform:rotate(8deg)}
.stack img:only-child{transform:none}
.pk b{font-weight:600;font-size:14.5px}
.pk em{font-style:normal;font-family:"EB Garamond",serif;font-weight:600;font-size:clamp(21px,2.2vw,25px);letter-spacing:.02em;line-height:1.1}
.pk .ea{font-size:12px;color:var(--muted)}
.pk .sv{font-size:11px;font-weight:600;color:var(--rust);letter-spacing:.05em;min-height:17px}
.meter{display:flex;gap:3px;margin-top:8px;width:72%}
.meter i{flex:1;height:4px;background:var(--line-2)}
.meter i.on{background:var(--rust)}
.pk .wk{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.pack-sum{display:flex;align-items:center;gap:12px;font-size:14px;color:var(--ink-2);background:var(--paper-2);padding:12px 16px;margin-bottom:18px}
.pack-sum i{font-style:normal;font-family:"Shippori Mincho",serif;color:var(--rust);font-size:17px}
@media(max-width:420px){.stack img{width:40px;height:40px}.stack img+img{margin-left:-20px}.stack{height:48px}.pk{padding-inline:6px}}

/* ── mechanism v2 ── */
.mech{display:grid;gap:18px}
@media(min-width:820px){.mech{grid-template-columns:1fr 1fr}}
.mc{margin:0;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.mc.on{border-color:var(--rust);box-shadow:0 30px 50px -40px rgba(163,74,33,.6)}
.mc-h{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:22px 24px 6px}
.mc-t{font-family:"EB Garamond",serif;font-weight:600;font-size:clamp(21px,2.2vw,25px);letter-spacing:.025em;line-height:1.25}
.mc-t em{font-style:italic;font-weight:500;color:var(--muted)}
.mc.on .mc-t em{color:var(--rust)}
.mc-pic{padding:8px 16px 0}
.mc-pic svg{display:block;width:100%;height:auto}
.mc-r{display:flex;align-items:center;gap:12px;margin-top:auto;padding:14px 24px;border-top:1px solid var(--line-2);font-size:14.5px;color:var(--ink-2)}
.mc.on .mc-r{background:var(--rust-bg)}
.mc-r .mk{font-size:20px}
.mech-key{display:flex;justify-content:center;gap:10px 26px;flex-wrap:wrap;margin-top:16px;font-size:13px;color:var(--muted)}
.mech-key span{display:inline-flex;align-items:center;gap:9px}
.mech-key i{display:block}
.k-oil{width:12px;height:12px;border-radius:50%;background:#CDB98A}
.k-ald{width:9px;height:9px;background:var(--rust);transform:rotate(45deg)}
.k-tan{width:14px;height:14px;border-radius:50%;border:2.5px solid var(--deep)}
.frag{position:relative;overflow:hidden;display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;align-items:center;margin-top:30px;
  padding:22px 26px;background:var(--paper-2);border-left:3px solid var(--rust)}
.frag-k{font-family:"Shippori Mincho",serif;font-size:44px;line-height:1;color:var(--muted);text-align:center;position:relative}
.frag-k::after{content:"";position:absolute;left:4px;right:4px;top:50%;height:2px;background:var(--rust);transform:rotate(-24deg)}
.frag p{font-size:16px;line-height:1.65;color:var(--ink-2);max-width:70ch}
.frag b{font-family:"EB Garamond",serif;font-size:20px;letter-spacing:.02em;color:var(--ink);margin-right:6px}
.mflow{list-style:none;margin:30px 0 0;padding:0;display:grid;gap:12px;counter-reset:none}
@media(min-width:760px){.mflow{grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);background:var(--white)}
  .mflow li+li{border-left:1px solid var(--line-2)}}
.mflow li{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:14px;padding:20px 22px;background:var(--white)}
@media(max-width:759px){.mflow li{border:1px solid var(--line)}}
.mf-n{grid-row:span 3;width:44px;height:44px;border-radius:50%;border:1px solid var(--rust);background:var(--rust-bg);color:var(--rust);
  font-family:"Shippori Mincho",serif;font-size:18px;display:grid;place-content:center}
.mf-tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--rust)}
.mflow h3{font-size:20px;margin:2px 0 4px}
.mflow p{font-size:14.5px;line-height:1.55;color:var(--muted)}
@media(max-width:520px){.frag{grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px}.frag-k{font-size:32px}}

/* ── tighter rhythm ── */
.sec{padding-block:clamp(48px,5.4vw,78px)}
.sec-sm{padding-block:clamp(36px,4vw,56px)}
.head-c{margin-bottom:clamp(24px,3vw,36px)}
.split{margin-bottom:clamp(24px,3vw,38px);gap:14px 56px}
h2{margin-bottom:14px}
.hero-grid{padding-block:clamp(32px,4.4vw,64px)}
.setp{margin-top:18px}
.pdp{padding-block:18px clamp(40px,4.4vw,64px)}
.crumb{padding-top:16px}
.trust .wrap{padding-block:26px}
.ft-top{padding-bottom:32px}.foot{padding-top:30px}.legal{margin-top:28px}
.rv-row{margin-top:16px}
.faq2{gap:26px 60px}
.flow>*+*{margin-top:16px}

/* ── reviews v3 ── */
.rv3{display:grid;gap:20px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){.rv3{grid-template-columns:minmax(0,1fr);max-width:520px;margin-inline:auto}}
.rv{margin:0;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.rv:hover{transform:translateY(-4px);box-shadow:0 26px 44px -30px rgba(27,30,25,.55)}
.rv-ph{position:relative}
.rv-ph img{aspect-ratio:4/3;object-fit:cover}
.rv-tag{position:absolute;left:14px;bottom:14px;background:rgba(251,252,249,.94);border:1px solid var(--line);font-size:10.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:var(--rust);padding:5px 10px}
.rv blockquote{margin:0;padding:26px 26px 8px;flex:1;position:relative}
.rv-q{display:block;font-family:"EB Garamond",serif;font-size:64px;line-height:.6;height:26px;color:var(--rust);opacity:.55}
.rv blockquote p{font-family:"EB Garamond",serif;font-size:21px;line-height:1.45;letter-spacing:.01em;color:var(--ink)}
.rv-by{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:12px;align-items:center;margin:18px 26px 0;padding:16px 0 22px;border-top:1px solid var(--line-2)}
.rv-by img{width:42px;height:42px;border-radius:50%;object-fit:cover}
.rv-by b{display:block;font-size:14px;font-weight:600}
.rv-by small{display:block;font-size:12.5px;color:var(--muted)}
.rv-k{font-family:"Shippori Mincho",serif;color:var(--rust);opacity:.35;font-size:20px}

/* ── ingredients explorer ── */
.ingw{display:grid;gap:18px;align-items:start}
@media(min-width:861px){.ingw{grid-template-columns:1.05fr .95fr}.ing-p{position:sticky;top:100px}}
.ing-list{display:grid;gap:6px}
.ing{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:14px;align-items:center;width:100%;text-align:left;cursor:pointer;
  padding:14px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(230,234,224,.14);color:var(--on-deep);transition:background .16s,border-color .16s}
.ing:hover{background:rgba(255,255,255,.08);border-color:rgba(230,234,224,.3)}
.ing[aria-selected="true"]{background:var(--white);border-color:var(--white);color:var(--ink)}
.ing.act:not([aria-selected="true"]){border-color:rgba(219,139,94,.6)}
.ing-n{width:34px;height:34px;border-radius:50%;border:1px solid rgba(219,139,94,.7);color:var(--rust-lt);font-family:"Shippori Mincho",serif;
  font-size:14px;display:grid;place-content:center}
.ing[aria-selected="true"] .ing-n{background:var(--rust);border-color:var(--rust);color:var(--white)}
.ing-t b{display:block;font-family:"EB Garamond",serif;font-weight:600;font-size:19px;letter-spacing:.025em;line-height:1.25}
.ing-t small{display:block;font-size:12.5px;color:var(--on-deep-2);margin-top:2px}
.ing[aria-selected="true"] .ing-t small{color:var(--muted)}
.ing-r{font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--on-deep-2);white-space:nowrap}
.ing.act .ing-r{color:var(--rust-lt)}
.ing[aria-selected="true"] .ing-r{color:var(--rust)}
.ing-m{display:none}
.ing-p{position:relative;overflow:hidden;background:var(--white);color:var(--ink);padding:clamp(26px,3.4vw,40px);min-height:420px}
.ip-k{position:absolute;right:-10px;top:-18px;font-family:"Shippori Mincho",serif;font-size:200px;line-height:1;color:var(--rust);opacity:.08;pointer-events:none}
.ip-role{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--rust);border:1px solid var(--rust);
  background:var(--rust-bg);padding:4px 10px;position:relative}
.ing-p h3{font-size:clamp(28px,3vw,36px);line-height:1.1;margin-top:18px;position:relative}
.ip-inci{font-size:13.5px;letter-spacing:.03em;color:var(--muted);margin-top:8px;position:relative}
.ip-b{margin-top:24px;padding-top:18px;border-top:1px solid var(--line-2);position:relative}
.ip-l{display:block;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.ip-b p{font-size:16.5px;line-height:1.7;color:var(--ink-2)}
.ing-p
@keyframes ipin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.noin{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;margin-top:22px;padding-top:22px;border-top:1px solid rgba(230,234,224,.14)}
.noin-l{display:inline-flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--on-deep-2);margin-right:8px}
.noin-l i{font-style:normal;font-family:"Shippori Mincho",serif;font-size:20px;color:var(--rust-lt)}
.noin .x{font-size:13.5px;color:var(--on-deep);border:1px solid rgba(230,234,224,.22);padding:6px 13px;text-decoration:line-through;text-decoration-color:var(--rust-lt);text-decoration-thickness:1.5px}
@media(max-width:860px){
  .ing-p{display:none}
  .ing[aria-selected="true"]+.ing-m{display:block;background:var(--white);color:var(--ink-2);padding:4px 18px 18px 72px;margin-top:-7px;font-size:15px;line-height:1.65}
  .ing-m .why{margin-top:10px;color:var(--muted);font-size:14px}
}
@media(max-width:460px){.ing{grid-template-columns:34px minmax(0,1fr);padding:12px 14px}.ing-r{display:none}.ing[aria-selected="true"]+.ing-m{padding-left:62px}}

/* ── mechanism v3 (minimal) ── */
.mech2{display:grid;max-width:980px;margin:0 auto}
@media(min-width:820px){.mech2{grid-template-columns:1fr 1fr}.mech2 figure+figure{border-left:1px solid var(--line)}}
@media(max-width:819px){.mech2 figure+figure{border-top:1px solid var(--line)}}
.mech2 figure{margin:0;padding:10px clamp(16px,3vw,40px) 18px;text-align:center}
.mech2 svg{display:block;width:100%;height:auto;margin:6px 0 10px}
.m2-l{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.mech2 .on .m2-l{color:var(--rust)}
.mech2 figcaption{font-family:"EB Garamond",serif;font-weight:600;font-size:clamp(20px,2.1vw,24px);letter-spacing:.02em}
.mech2 figcaption em{font-style:italic;font-weight:500;color:var(--muted)}
.mech2 .on figcaption em{color:var(--rust)}

/* ── promise v2 (no image) ── */
.cert2{position:relative;overflow:hidden;max-width:900px;margin:0 auto;text-align:center;color:#AEB3A7;
  padding:clamp(40px,5.4vw,68px) clamp(22px,5vw,72px);border:1px solid rgba(255,255,255,.14);
  box-shadow:inset 0 0 0 8px var(--ink),inset 0 0 0 9px rgba(255,255,255,.08)}
.c2-wm{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-family:"Shippori Mincho",serif;font-size:clamp(300px,42vw,520px);
  line-height:1;color:#fff;opacity:.025;pointer-events:none}
.c2-corner{position:absolute;width:22px;height:22px;border-color:var(--rust-lt);border-style:solid;opacity:.7}
.c2-corner.c2-tl{top:20px;left:20px;border-width:1px 0 0 1px}.c2-corner.c2-tr{top:20px;right:20px;border-width:1px 1px 0 0}
.c2-corner.c2-bl{bottom:20px;left:20px;border-width:0 0 1px 1px}.c2-corner.c2-br{bottom:20px;right:20px;border-width:0 1px 1px 0}
.c2-label{position:relative;font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--rust-lt);
  display:inline-flex;align-items:center;gap:14px}
.c2-label::before,.c2-label::after{content:"";width:28px;height:1px;background:currentColor;opacity:.5}
.c2-num{position:relative;display:flex;justify-content:center;align-items:flex-start;gap:8px;margin-top:10px;line-height:1}
.c2-num .n{font-family:"EB Garamond",serif;font-weight:500;font-size:clamp(110px,14vw,170px);letter-spacing:-.01em;color:var(--white);line-height:.9}
.c2-num .d{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rust-lt);margin-top:18px}
.cert2 h2{position:relative;color:var(--white);margin:14px 0 18px}
.cert2 h2 em{color:var(--rust-lt)}
.c2-p{position:relative;font-size:17px;line-height:1.72;max-width:52ch;margin:0 auto}
.c2-pts{position:relative;list-style:none;padding:0;margin:32px auto 34px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:640px;
  border-block:1px solid rgba(255,255,255,.12)}
.c2-pts li{display:flex;flex-direction:column;align-items:center;gap:8px;padding:18px 10px;font-size:14.5px;color:#DCE0D5;line-height:1.4}
.c2-pts li+li{border-left:1px solid rgba(255,255,255,.12)}
.c2-pts i{font-style:normal;font-family:"Shippori Mincho",serif;font-size:18px;color:var(--rust-lt)}
.cert2 .btn{position:relative;background:var(--white);color:var(--ink);border-color:var(--white)}
.cert2 .btn:hover{background:var(--rust);color:var(--white);border-color:var(--rust)}
.c2-hanko{position:absolute;right:clamp(28px,5vw,64px);bottom:clamp(28px,4vw,52px);width:64px;height:64px;border:2px solid var(--rust-lt);border-radius:8px;
  color:var(--rust-lt);display:grid;place-content:center;text-align:center;font-family:"Shippori Mincho",serif;font-size:25px;line-height:1;transform:rotate(8deg);opacity:.85}
.c2-hanko small{display:block;font-family:"Inter",sans-serif;font-size:7.5px;letter-spacing:.24em;margin-top:4px}
@media(max-width:620px){.c2-hanko{display:none}.c2-pts li{font-size:13px;padding-inline:6px}}

/* ── header v2 (pine) ── */
@media(max-width:600px){.ann2 b,.ann2 .wrap>span:first-child{display:none}}
.ann2{background:#18201A;color:#C9D0C2}
.ann2 .wrap{display:flex;justify-content:center;align-items:center;gap:10px 18px;flex-wrap:wrap;padding-block:9px;font-size:12.5px;letter-spacing:.06em}
.ann2 i{font-style:normal;font-family:"Shippori Mincho",serif;color:var(--rust-lt);margin-right:8px}
.ann2 b{color:#4F5B50;font-weight:400}
.nav2{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(36,48,39,.96);
  -webkit-backdrop-filter:saturate(1.2) blur(10px);backdrop-filter:saturate(1.2) blur(10px);border-bottom:1px solid rgba(230,234,224,.1);color:var(--on-deep)}
.nav2 .wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;padding-block:14px}
.n2-l{display:flex;align-items:center;gap:8px}
.nl2{display:flex;gap:30px;font-size:14.5px;letter-spacing:.03em}
.nl2 a{position:relative;color:var(--on-deep-2);text-decoration:none;padding-block:6px;transition:color .15s}
.nl2 a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--rust-lt);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nl2 a:hover,.nl2 a[aria-current="page"]{color:var(--white)}
.nl2 a:hover::after,.nl2 a[aria-current="page"]::after{transform:scaleX(1)}
.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--white);justify-self:center}
.seal{width:34px;height:34px;background:var(--rust);color:var(--white);display:grid;place-content:center;font-family:"Shippori Mincho",serif;
  font-size:18px;line-height:1;border-radius:3px;transform:rotate(-4deg);box-shadow:0 0 0 3px rgba(163,74,33,.22)}
.bw{font-family:"EB Garamond",serif;font-weight:600;font-size:27px;letter-spacing:.3em;margin-right:-.3em;line-height:1}
.n2-r{display:flex;justify-content:flex-end;align-items:center;gap:4px}
.ic{position:relative;width:42px;height:42px;display:grid;place-content:center;background:transparent;border:0;color:var(--on-deep);cursor:pointer;border-radius:50%;transition:background .15s,color .15s}
.ic:hover{background:rgba(255,255,255,.08);color:var(--white)}
.ic svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ic .cc{position:absolute;top:3px;right:1px;min-width:18px;height:18px;padding-inline:5px;border-radius:9px;background:var(--rust-lt);color:#18201A;
  font-size:10.5px;font-weight:700;display:grid;place-content:center;box-shadow:0 0 0 2px var(--deep)}
.mb{display:none}
@media(max-width:780px){.nl2,.hm{display:none}.mb{display:grid;margin-left:-10px}.bw{font-size:24px}.seal{width:30px;height:30px;font-size:16px}}

/* ── using it v2 ── */
.urail{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;margin-bottom:14px}
.ur-seg{position:relative;height:30px;border-bottom:2px solid var(--line)}
.ur-seg i{position:absolute;left:0;bottom:8px;font-style:normal;font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ur-seg::after{content:"";position:absolute;left:0;bottom:-6px;width:10px;height:10px;border-radius:50%;background:var(--paper);border:2px solid #B9BFB2}
.ur-seg.hot{border-bottom-color:var(--rust)}
.ur-seg.hot::after{border-color:var(--rust);background:var(--rust)}
.ur-seg.hot i{color:var(--rust)}
.ur-seg b{position:absolute;right:0;bottom:8px;font-family:"EB Garamond",serif;font-style:italic;font-weight:500;font-size:16px;color:var(--rust)}
.usteps{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;align-items:stretch}
.us{background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column}
.us-ph{position:relative;overflow:hidden}
.us-ph img{aspect-ratio:4/3;object-fit:cover}
.us-b{padding:22px 24px 26px;position:relative}
.us-n{position:absolute;right:20px;top:-6px;font-family:"Shippori Mincho",serif;font-size:64px;line-height:1;color:var(--rust);opacity:.12}
.us-tag{font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.us h3{font-size:25px;margin:6px 0 8px}
.us p{font-size:15.5px;line-height:1.65;color:var(--ink-2)}
.us-hot{background:var(--deep);border-color:var(--deep);color:var(--on-deep);box-shadow:0 36px 60px -40px rgba(36,48,39,.8)}
.us-hot .us-ph img{aspect-ratio:16/11}
.us-hot h3{color:var(--white);font-size:29px}
.us-hot p{color:var(--on-deep-2)}
.us-hot .us-tag{color:var(--rust-lt)}
.us-hot .us-n{color:var(--rust-lt);opacity:.2}
.u-dial{position:absolute;right:16px;bottom:16px;width:104px;height:104px}
.u-arc{stroke-dashoffset:0}
.u-dial.run .u-arc{animation:uarc 2.6s ease-out forwards}
@keyframes uarc{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.u-arc{stroke-dashoffset:0}}
.us-z{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.us-z span{font-size:12.5px;letter-spacing:.05em;padding:6px 12px;border:1px solid rgba(230,234,224,.25);color:var(--on-deep)}
@media(max-width:880px){
  .urail{display:none}
  .usteps{grid-template-columns:minmax(0,1fr);max-width:540px;margin-inline:auto}
}

.us-n{display:none}
.us-tag i{font-style:normal;font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:0;color:var(--rust);margin-right:10px}
.us-hot .us-tag i{color:var(--rust-lt)}
.us-art{position:relative;aspect-ratio:4/3;background:var(--paper-2);display:grid;place-content:center;overflow:hidden;border-bottom:1px solid var(--line-2)}
.ua-k{font-family:"Shippori Mincho",serif;font-size:clamp(96px,10vw,140px);line-height:1;color:var(--rust);opacity:.85;text-align:center}
.ua-c{position:absolute;left:0;right:0;bottom:16px;text-align:center;font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.us-hot .us-ph img{aspect-ratio:4/3}
@media(max-width:880px){.us-art{aspect-ratio:auto;padding:34px 0 44px}}

.rv-ph img{aspect-ratio:4/5;object-position:50% 12%}
.rv-by{grid-template-columns:minmax(0,1fr) auto}

/* ── cart drawer ── */
html.cd-lock,html.cd-lock body{overflow:hidden}
.cd{position:fixed;inset:0;z-index:200;visibility:hidden;pointer-events:none}
.cd.on{visibility:visible;pointer-events:auto}
.cd-ov{position:absolute;inset:0;background:rgba(24,32,26,.45);opacity:0;transition:opacity .25s}
.cd.on .cd-ov{opacity:1}
.cd-p{position:absolute;top:0;right:0;height:100%;width:420px;max-width:100vw;background:var(--paper);background-image:var(--grain);
  display:flex;flex-direction:column;transform:translateX(100%);transition:transform .32s cubic-bezier(.2,.7,.2,1);box-shadow:-18px 0 40px -20px rgba(0,0,0,.4)}
.cd.on .cd-p{transform:none}
.cd-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--deep);color:var(--white);flex:none}
.cd-h h2{font-size:24px;margin:0;color:var(--white);letter-spacing:.04em}
.cd-h h2 span{font-family:"Inter",sans-serif;font-size:13px;font-weight:500;letter-spacing:.04em;color:var(--on-deep-2);margin-left:6px}
.cd-x{width:36px;height:36px;display:grid;place-content:center;background:transparent;border:0;color:var(--on-deep);cursor:pointer;border-radius:50%}
.cd-x:hover{background:rgba(255,255,255,.1)}
.cd-x svg,.ci-rm svg,.dcv-i svg{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cd-x svg{width:20px;height:20px}
.cd-ban{flex:none;margin:0;padding:10px 20px;background:var(--rust-bg);border-bottom:1px solid rgba(163,74,33,.18);font-size:13.5px;color:var(--rust-dk);display:flex;align-items:center;gap:10px}
.cd-ban i{font-style:normal;font-family:"Shippori Mincho",serif;color:var(--rust)}
.cd-b{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;padding:4px 20px 16px}
.ci{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.ci>img{width:88px;height:88px;object-fit:cover;border:1px solid var(--line);background:var(--white)}
.ci-m{position:relative;min-width:0;padding-right:28px}
.ci-rm{position:absolute;top:0;right:0;width:26px;height:26px;display:grid;place-content:center;background:none;border:0;color:var(--muted);cursor:pointer}
.ci-rm:hover{color:var(--rust)}
.ci-rm svg{width:17px;height:17px}
.ci-n{display:block;font-family:"EB Garamond",serif;font-weight:600;font-size:20px;letter-spacing:.03em;line-height:1.2}
.ci-s{display:block;font-size:12.5px;color:var(--muted);margin-top:1px}
.ci-u{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:5px;font-size:14px}
.ci-u del{color:#9AA093}
.ci-u b{font-weight:600}
.ci-bd{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--rust);
  background:var(--rust-bg);border:1px solid rgba(163,74,33,.35);padding:2px 8px}
.ci-bd i{font-style:normal;font-family:"Shippori Mincho",serif;font-size:11px}
.ci-bt{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:10px}
.ci-q{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--white);height:34px}
.ci-q button{width:32px;height:32px;border:0;background:none;font-size:17px;color:var(--ink);cursor:pointer}
.ci-q button:hover{color:var(--rust)}
.ci-q span{min-width:26px;text-align:center;font-weight:600;font-size:14.5px}
.ci-l{text-align:right}
.ci-l div{display:flex;gap:7px;align-items:baseline;justify-content:flex-end}
.ci-l del{font-size:13px;color:#9AA093}
.ci-l b{font-family:"EB Garamond",serif;font-weight:600;font-size:21px}
.ci-sv{display:block;font-size:12px;font-weight:600;color:#4F7A52;margin-top:1px}
.ce{text-align:center;padding:54px 10px 30px}
.ce-k{display:inline-grid;place-content:center;width:72px;height:72px;border-radius:50%;border:1px solid var(--rust);background:var(--rust-bg);color:var(--rust);
  font-family:"Shippori Mincho",serif;font-size:30px}
.ce-t{font-family:"EB Garamond",serif;font-weight:600;font-size:24px;margin-top:18px}
.ce-p{font-size:14.5px;color:var(--muted);margin:6px 0 22px}
.cd-up{padding-top:22px}
.cd-up h3{font-size:19px;text-align:center;margin:0 0 12px;display:flex;align-items:center;gap:12px}
.cd-up h3::before,.cd-up h3::after{content:"";flex:1;height:1px;background:var(--line)}
.uc{display:grid;grid-template-columns:62px minmax(0,1fr) auto;gap:12px;align-items:center;background:var(--white);border:1px solid var(--line);padding:10px;margin-bottom:8px}
.uc img{width:62px;height:62px;object-fit:cover}
.uc b{display:block;font-family:"EB Garamond",serif;font-weight:600;font-size:18px;letter-spacing:.02em}
.uc span{display:flex;gap:7px;align-items:baseline;font-size:14px}
.uc strong{font-weight:600}
.uc del{font-size:12.5px;color:#9AA093}
.uc button{height:34px;padding:0 16px;border:1px solid var(--deep);background:var(--deep);color:var(--white);font-weight:600;font-size:13.5px;cursor:pointer}
.uc button:hover{background:var(--rust);border-color:var(--rust)}
.cd-f{flex:none;padding:14px 20px 18px;background:var(--white);border-top:1px solid var(--line)}
.dcv{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:10px 12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;margin-bottom:14px}
.dcv-i{color:var(--deep)}
.dcv-i svg{width:30px;height:30px;display:block}
.dcv-t b{display:block;font-size:14px;font-weight:600}
.dcv-t small{display:block;font-size:11.5px;line-height:1.4;color:var(--muted)}
.dcv-p{font-weight:600;font-size:14.5px}
.dcv-s input{position:absolute;opacity:0;width:1px;height:1px}
.dcv-tr{display:block;width:40px;height:22px;border-radius:11px;background:#C9CEC2;position:relative;transition:background .2s}
.dcv-k{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.dcv-s input:checked+.dcv-tr{background:var(--deep)}
.dcv-s input:checked+.dcv-tr .dcv-k{transform:translateX(18px)}
.dcv-s input:focus-visible+.dcv-tr{outline:2px solid var(--rust);outline-offset:2px}
.cd-row{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;color:#4F7A52;margin-bottom:6px}
.cd-tot{color:var(--ink);font-size:16px;margin:4px 0 14px}
.cd-tot strong{font-family:"EB Garamond",serif;font-weight:600;font-size:28px;letter-spacing:.02em}
.cd-go{min-height:54px;font-size:16.5px}
.cd-pay{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px}
.cd-pay span{font-size:10.5px;font-weight:600;letter-spacing:.04em;color:var(--muted);border:1px solid var(--line);padding:3px 7px;background:var(--paper)}
@media(max-width:460px){.cd-p{width:100vw}.ci{grid-template-columns:72px minmax(0,1fr)}.ci>img{width:72px;height:72px}}

/* ── QA pass ── */
@media(min-width:940px){.gal{position:sticky;top:96px}}
@media(min-width:861px){.ing-p{position:relative;top:auto}}
#range{border-bottom:0!important}
.label .num{width:26px;height:26px;border-radius:50%;border:1px solid currentColor;justify-content:center;font-size:13px;line-height:1}
.label .num::after{margin-left:calc(26px - 13px + 12px)}
.label .num{position:relative}
.label .num::after{position:absolute;left:100%;margin-left:10px;top:50%}
.label{padding-left:0}
.label .num{margin-right:46px}
.fx{background:#18201A}
.ft-top,.legal{border-color:#2B372E}
.nf{border-color:#34413A}

/* ── QA pass: mobile ── */
@media(max-width:699px){.thumbs-v button{min-width:0;flex:1 1 0}.thumbs-v{gap:8px}}
.fx{background:var(--deep)}
.ft-top,.legal{border-color:#34413A}
@media(max-width:699px){.gnote{order:3}}
@media(max-width:560px){
  .combo{gap:8px}.combo img{width:56px;height:56px}.combo b{font-size:20px;padding-bottom:18px}
  .cert2 .btn{padding:14px 18px;font-size:15px}
}
@media(max-width:700px){
  .vs table{min-width:0;table-layout:fixed}
  .vs .crit{width:46%;padding:14px 12px}
  .vs .crit b{font-size:16px}
  .vs .crit s{font-size:12px}
  .vs .cell{padding:14px 4px;width:18%}
  .vs thead .cell{font-size:9.5px;letter-spacing:.06em;padding:12px 4px}
  .vs thead .ours .nm{font-size:15px;margin-top:8px}
  .vs thead .ours .cap2{font-size:13px;padding:5px 0}
  .mk{font-size:20px}
  .mk s{font-size:10px;letter-spacing:0}
  .vs-key{gap:10px 18px;padding:14px 12px;font-size:12px}
}

.hero-pic .tagcard{top:36px;bottom:auto}

.us-ph img,.us-hot .us-ph img{aspect-ratio:4/3;object-fit:cover}
.us-chip{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:8px;background:rgba(251,252,249,.94);border:1px solid var(--line);
  font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);padding:6px 11px}
.us-chip i{font-style:normal;font-family:"Shippori Mincho",serif;font-size:14px;letter-spacing:0;color:var(--rust)}

/* ── no italics: accent words keep the heading face, just coloured ── */
em,i,.ur-seg b{font-style:normal!important}
h1 em,h2 em,h3 em,.mc-t em,.mech2 figcaption em,.c2-num em{font-weight:inherit!important;letter-spacing:inherit!important}
.ur-seg b{font-family:"Inter",sans-serif;font-size:12px;font-weight:600;letter-spacing:.06em}
