@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Libre+Baskerville:wght@400;700&family=Noto+Sans+KR:wght@400;500;600&family=Noto+Serif+KR:wght@400;500;600&display=swap");


:root {
  --ivory: #faf8f4;
  --ink: #0b0b0c;
  --gold: #c9a24b;
  --deep: #a8843a;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--ivory);
  color: var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1.7;
}
a {
  color: inherit;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  cursor: pointer;
}
header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(250, 248, 244, 0.97);
  border-bottom: 1px solid #d8cba9;
}
.top {
  max-width: 1500px;
  margin: auto;
  padding: 13.5px 4%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.identity {
  display: flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
  min-width: 245px;
}
.mark {
  width: 37px;
  height: 37px;
  flex: none;
}
.wordmark {
  font-family: var(--font-display);
  font-size: 16px;
  line-height: 1.05;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  font-weight: 600;
}
.wordmark small {
  display: block;
  font-size: 11px;
  letter-spacing: 0.3em;
  margin-bottom: 4px;
}
nav {
  display: flex;
  align-items: center;
  gap: clamp(11px, 2vw, 32px);
}
nav a {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 12px;
  white-space: nowrap;
}
nav a.active,
nav a:hover {
  color: var(--deep);
}
.lang {
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 12px;
  letter-spacing: 0.08em;
  padding: 8px;
}
.lang.active {
  color: var(--deep);
  text-decoration: underline;
  text-underline-offset: 5px;
}
.languages {
  display: flex;
  white-space: nowrap;
}
.menu {
  display: none;
  background: none;
  border: 0;
  font-size: 25px;
  line-height: 1;
}
.hero {
  background: var(--ink);
  color: var(--ivory);
  min-height: 690px;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.hero-copy {
  padding: clamp(55px, 8vw, 140px) clamp(26px, 7vw, 125px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.eyebrow {
  color: var(--deep);
  font-size: 12px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.hero .eyebrow {
  color: var(--gold);
}
h1,
:is(h1, h2),
h3 {
  font-family: var(--font-display);
  font-weight: 400;
  line-height: 1.04;
}
h1 {
  font-size: clamp(48px, 5.7vw, 100px);
  margin: 28px 0;
}
:is(h1, h2) {
  font-size: clamp(38px, 4.05vw, 65px);
  margin: 16px 0 25px;
}
h3 {
  font-size: 34px;
  margin: 12px 0;
}
.hero p {
  max-width: 480px;
  font-size: 18px;
  line-height: 1.65;
}
.hero-image {
  background: #e9dfd3 url("../images/collection/collection-8-editorial.webp") center/cover no-repeat;
  min-height: 480px;
}
.actions {
  display: flex;
  gap: 18px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.button {
  display: inline-block;
  text-decoration: none;
  border: 1px solid var(--deep);
  padding: 14px 22px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  font-size: 12px;
  line-height: 1.3;
  background: transparent;
  color: inherit;
}
.button.fill {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
.button:hover {
  background: var(--deep);
  color: white;
}
.container {
  max-width: 1250px;
  margin: auto;
  padding: 100px 6%;
}
.narrow {
  max-width: 830px;
}
.intro {
  font-family: var(--font-display);
  font-size: clamp(26px, 2.8vw, 39px);
  line-height: 1.3;
}
.rule {
  border: 0;
  border-top: 1px solid var(--deep);
  margin: 40px 0;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
  align-items: start;
}
.page-hero {
  padding: 95px 6% 75px;
  text-align: center;
  border-bottom: 1px solid #ded4bf;
}
.page-hero h1 {
  font-size: clamp(54px, 6vw, 88px);
  margin: 14px 0;
}
.page-hero p {
  max-width: 630px;
  margin: auto;
}
.section-title {
  margin-bottom: 55px;
}
.story p {
  font-size: 19px;
  line-height: 1.85;
}
.quote {
  font-family: var(--font-display);
  font-size: clamp(29px, 3vw, 44px);
  line-height: 1.24;
  border-left: 1px solid var(--gold);
  padding-left: 25px;
}
.sources {
  font-size: 14px;
  color: #555;
  border-top: 1px solid #d7c9a8;
  margin-top: 70px;
  padding-top: 25px;
}
.sources li {
  margin-bottom: 12px;
}
.sources a {
  color: #6f5525;
}
.collection-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 25px;
}
.product-image {
  aspect-ratio: 4/5;
  background: #e9e4da;
  position: relative;
  overflow: hidden;
}
.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.product-card h3 {
  font-size: 29px;
  margin: 17px 0 3px;
}
.meta {
  color: #6d6558;
  font-size: 13px;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.product-card p {
  margin: 7px 0;
}
.notice {
  font-size: 14px;
  color: #6d6558;
}
.steps {
  counter-reset: step;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  margin: 45px 0 95px;
}
.step {
  border-top: 1px solid var(--deep);
  padding-top: 24px;
}
.step::before {
  counter-increment: step;
  content: "0" counter(step);
  color: var(--deep);
  font-family: var(--font-display);
  font-size: 32px;
}
.step h3 {
  margin-top: 13px;
}
.founders {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9vw;
}
.founders article {
  border-top: 1px solid var(--deep);
  padding-top: 25px;
}
.founder-photo {
  margin: 0 0 28px;
  max-width: 470px;
}
.founder-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center 32%;
}
.founder-photo.lionel img {
  object-position: center 35%;
}
.founders ul {
  padding-left: 20px;
}
.founders li {
  margin-bottom: 9px;
}
.form-wrap {
  max-width: 780px;
  margin: auto;
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 23px;
}
label {
  display: block;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 7px;
}
input,
select,
textarea {
  display: block;
  width: 100%;
  background: transparent;
  border: 1px solid #bbac8b;
  color: var(--ink);
  border-radius: 0;
  padding: 13px;
  font-size: 16px;
  min-height: 49px;
}
textarea {
  min-height: 130px;
  resize: vertical;
}
.field {
  margin-bottom: 23px;
}
.form-note {
  font-size: 13px;
  color: #5f594f;
}
.success {
  padding: 22px;
  border: 1px solid var(--deep);
}
footer {
  background: var(--ink);
  color: var(--ivory);
  padding: 60px 6% 35px;
}
.foot-inner {
  max-width: 1250px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
}
footer .mark {
  width: 40px;
  height: 40px;
}
footer a {
  color: inherit;
}
footer .links {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: flex-end;
  align-items: center;
  font-size: 13px;
}
footer .languages .lang {
  color: var(--ivory);
}
footer .fine {
  max-width: 1250px;
  margin: 45px auto 0;
  border-top: 1px solid #5a4b32;
  padding-top: 20px;
  font-size: 12px;
  color: #c6bfaf;
}
.legal {
  max-width: 800px;
}
.legal :is(h1, h2) {
  font-size: 40px;
  margin-top: 40px;
}
[hidden] {
  display: none !important;
}
@media (max-width: 1050px) {
  .top {
    flex-wrap: wrap;
  }
  nav {
    order: 3;
    width: 100%;
    justify-content: center;
    padding: 8px 0;
  }
  .hero {
    min-height: 580px;
  }
  .hero-copy {
    padding: 60px 7%;
  }
}
@media (max-width: 700px) {
  .top {
    padding: 10.8px 5%;
  }
  .identity {
    min-width: 0;
  }
  .wordmark {
    font-size: 13px;
  }
  .wordmark small {
    font-size: 9px;
  }
  .menu {
    display: block;
    margin-left: auto;
  }
  .top > .languages {
    display: none;
  }
  nav {
    display: none;
    order: 3;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    border-top: 1px solid #d8cba9;
  }
  nav.open {
    display: flex;
  }
  nav a {
    padding: 12px 0;
    width: 100%;
  }
  .hero {
    display: flex;
    flex-direction: column-reverse;
  }
  .hero-image {
    min-height: 380px;
  }
  .hero-copy {
    padding: 50px 7% 65px;
  }
  h1 {
    font-size: 57px;
  }
  .container {
    padding: 70px 7%;
  }
  .page-hero {
    padding: 70px 7% 55px;
  }
  .split,
  .founders,
  .foot-inner {
    grid-template-columns: 1fr;
    gap: 35px;
  }
  .collection-grid {
    grid-template-columns: 1fr 1fr;
    gap: 16px;
  }
  .steps {
    grid-template-columns: 1fr;
    gap: 25px;
    margin-bottom: 65px;
  }
  .foot-inner .links {
    justify-content: flex-start;
  }
  .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
@media (max-width: 440px) {
  .collection-grid {
    grid-template-columns: 1fr;
  }
  .product-image {
    aspect-ratio: 1/1;
  }
  .actions {
    flex-direction: column;
  }
  .button {
    text-align: center;
  }
}

/* Brand colors */
:root {
  --ivory: #fbfaf8;
  --ink: #211c29;
  --gold: #d8b35b;
  --deep: #73562a;
  --violet: #49366f;
  --violet-dark: #302248;
  --lilac: #eeeaf3;
}
body {
  background: var(--ivory);
}
header {
  background: var(--violet);
  border-bottom: 1px solid #8873a7;
  color: #faf8f4;
}
.wordmark,
.lang {
  color: #faf8f4;
}
nav a.active,
nav a:hover,
.lang.active {
  color: var(--gold);
}
.mark path {
  stroke: var(--gold);
}
.mark text {
  fill: var(--gold);
}
.menu {
  color: var(--gold);
}
.hero {
  background: var(--violet-dark);
}
.hero-image {
  background-color: var(--violet);
  background-position: center 52%;
}
.eyebrow {
  color: #765728;
}
.hero .eyebrow {
  color: var(--gold);
}
.button {
  border-color: var(--violet);
  color: var(--violet);
}
.hero .button {
  border-color: var(--gold);
  color: var(--ivory);
}
.button.fill {
  background: var(--violet);
  border-color: var(--violet);
  color: white;
}
.hero .button.fill {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--violet-dark);
}
.button:hover,
.button.fill:hover {
  background: #604b88;
  border-color: #604b88;
  color: white;
}
.hero .button:hover {
  background: var(--gold);
  color: var(--violet-dark);
}
.page-hero {
  background: var(--violet);
  color: var(--ivory);
  border-color: #8873a7;
}
.page-hero .eyebrow {
  color: var(--gold);
}
.page-hero p {
  color: #e7dfee;
}
.container .rule,
.step,
.founders article,
.sources {
  border-color: #9b87aa;
}
.quote {
  border-color: var(--gold);
}
.product-image {
  background: var(--lilac);
}
.product-image::after {
  background: rgba(53, 43, 76, 0.88);
  color: white;
}
.meta {
  color: #6b577e;
}
.notice {
  color: #574d61;
}
.step::before {
  color: #634c7c;
}
input,
select,
textarea {
  border-color: #9b87aa;
}
input:focus,
select:focus,
textarea:focus,
button:focus-visible,
a:focus-visible {
  outline: 2px solid #a77a33;
  outline-offset: 3px;
}
footer {
  background: var(--violet);
}
footer .fine {
  border-color: #79658d;
}
@media (max-width: 700px) {
  nav {
    border-color: #8873a7;
  }
  .top > .languages {
    display: flex;
    order: 2;
    margin-left: auto;
  }
  .top > .languages .lang {
    font-size: 12px;
    padding: 7px;
  }
  .menu {
    order: 3;
    margin-left: 5px;
  }
  nav a {
    border-bottom: 1px solid #6b5a82;
  }
  .identity {
    min-width: 0;
  }
}
@media (max-width: 390px) {
  .wordmark {
    font-size: 11px;
    letter-spacing: 0.11em;
  }
  .wordmark small {
    font-size: 8px;
  }
  .identity {
    gap: 7px;
  }
  .identity .mark {
    width: 28px;
    height: 28px;
  }
  .top > .languages .lang {
    padding: 5px;
    font-size: 11px;
  }
}


/* Editorial proportions */
header {
  border-top: 1px solid #8873a7;
}
.top {
  min-height: 76px;
}
.hero {
  min-height: 740px;
}
.hero-copy {
  position: relative;
}
.hero-copy:before {
  content: "";
  display: block;
  width: 72px;
  border-top: 1px solid var(--gold);
  margin-bottom: 34px;
}
.hero h1 {
  letter-spacing: -0.025em;
  max-width: 700px;
}
.hero p {
  line-height: 1.8;
}
.container {
  padding-top: 115px;
  padding-bottom: 115px;
}
.page-hero {
  padding-top: 118px;
  padding-bottom: 98px;
}
.page-hero h1 {
  letter-spacing: -0.015em;
}
.intro {
  color: #3d3348;
}
.product-card {
  padding-bottom: 24px;
  border-bottom: 1px solid #baa7ca;
}
.product-image img {
  display: block;
  transition: transform 0.35s ease;
}
.product-card:hover img {
  transform: scale(1.025);
}
.product-card h3 {
  margin-top: 24px;
}
.product-card .meta {
  font-weight: bold;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  .product-image img {
    transition: none;
  }
  .product-card:hover img {
    transform: none;
  }
}
@media (max-width: 700px) {
  .top {
    min-height: 65px;
  }
  .hero {
    min-height: 0;
  }
  .hero-copy:before {
    margin-bottom: 20px;
  }
  .container {
    padding-top: 75px;
    padding-bottom: 75px;
  }
  .page-hero {
    padding-top: 78px;
    padding-bottom: 70px;
  }
}

.signature-intro {
  max-width: none;
  margin-bottom: 38px;
}
.signature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.signature-card {
  border: 1px solid #c8b9d1;
  background: #fff;
  padding: 12px 12px 26px;
}
.signature-card h3 {
  margin: 20px 7px 8px;
}
.signature-card p {
  margin: 0 7px 18px;
  color: #4b4056;
}
.signature-card .meta {
  margin: 0 7px;
}
.signature-main {
  aspect-ratio: 4/5;
  background: #ece8eb;
  overflow: hidden;
}
.signature-main img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.signature-thumbs {
  display: flex;
  gap: 7px;
  margin-top: 7px;
}
.signature-thumbs button {
  width: 62px;
  height: 62px;
  padding: 0;
  border: 1px solid #c5b4cc;
  background: #eee;
  overflow: hidden;
}
.signature-thumbs button[aria-pressed="true"] {
  border: 2px solid var(--violet);
}
.signature-thumbs img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.signature-section {
  padding-top: 48px;
  padding-bottom: 70px;
}
.signature-group {
  margin-top: 40px;
}
.signature-group > h3 {
  font-family: Georgia, serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 2vw, 2rem);
  margin: 0 0 18px;
  color: #4b315d;
}
.concept-section {
  border-top: 1px solid #c8b9d1;
  padding-top: 70px;
}
.signature-inquire {
  margin: 0 7px;
}
.signature-inquire .button {
  font-size: 12px;
}
.signature-card .signature-main img {
  object-position: center;
}
.product-card .editorial-note {
  font-size: 12px;
  margin: 8px 0 0;
  color: #645b54;
}
@media (max-width: 850px) {
  .signature-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 600px) {
  .signature-grid {
    grid-template-columns: 1fr;
  }
  .signature-section {
    padding-top: 32px;
    padding-bottom: 55px;
  }
  .concept-section {
    padding-top: 55px;
  }
}
.editorial-note {
  font-size: 12px !important;
  color: #6b5d70 !important;
  margin: 9px 2px 0 !important;
  line-height: 1.4;
}
.bespoke-editorials {
  max-width: 1300px;
  margin: 0 auto;
  padding: 65px 6% 20px;
}
.bespoke-editorial-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  grid-template-rows: auto auto;
  gap: 18px;
}
.bespoke-editorials figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #39234e;
}
.bespoke-editorials img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bespoke-editorials .still-life {
  grid-column: 1;
  grid-row: 1;
  aspect-ratio: 3/2;
}
.bespoke-editorials .wide-portrait {
  grid-column: 1;
  grid-row: 2;
  aspect-ratio: 2/1;
}
.bespoke-editorials .tall-portrait {
  grid-column: 2;
  grid-row: 1/3;
}
.bespoke-editorials .wide-portrait img {
  position: absolute;
  bottom: 0;
  height: 106%;
  object-position: center bottom;
}
.bespoke-editorials .tall-portrait img {
  position: absolute;
  bottom: 0;
  height: 141%;
  object-position: center bottom;
}
.bespoke-editorials .editorial-note {
  margin-top: 16px;
}
@media (max-width: 700px) {
  .bespoke-editorials {
    padding: 32px 5% 0;
  }
  .bespoke-editorial-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
  .bespoke-editorials .tall-portrait {
    width: 78%;
    align-self: center;
    aspect-ratio: 941/1672;
  }
  .bespoke-editorials .wide-portrait {
    aspect-ratio: 2/1;
  }
}
/* Navigation targets */
header nav {
  gap: clamp(2px, 0.4vw, 8px);
}
header nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 8px clamp(7px, 0.7vw, 12px);
  border-radius: 3px;
  transition:
    background-color 0.18s ease,
    color 0.18s ease;
}
header nav a:hover,
header nav a:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: var(--gold);
}
@media (max-width: 700px) {
  header nav a {
    justify-content: flex-start;
    padding: 12px;
  }
}
@media (prefers-reduced-motion: reduce) {
  header nav a {
    transition: none;
  }
}

/* Navigation hover */
header nav a:hover {
  background: transparent;
}
header nav a:hover:not(.active) {
  color: inherit;
}
header nav a:focus-visible {
  background: rgba(255, 255, 255, 0.1);
  color: var(--gold);
}
/* Contact options */
.form-wrap select {
  appearance: none;
  -webkit-appearance: none;
  min-height: 54px;
  padding: 13px 43px 13px 16px;
  cursor: pointer;
  color: var(--ink);
  background-color: #f7f3f9;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10' viewBox='0 0 16 10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%2373562a' stroke-width='2'/%3E%3C/svg%3E");
  background-position: right 16px center;
  background-repeat: no-repeat;
  background-size: 16px 10px;
  border: 1px solid #9b87aa;
  border-bottom: 2px solid var(--gold);
  border-radius: 2px;
  transition:
    border-color 0.18s ease,
    background-color 0.18s ease;
}
.form-wrap select:hover {
  background-color: #f0ebf4;
  border-color: #735b90;
  border-bottom-color: var(--gold);
}
.form-wrap select:focus-visible {
  background-color: #fff;
  border-color: var(--violet);
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.form-wrap select:invalid {
  color: #665d70;
}
.form-wrap select option {
  background: #fbfaf8;
  color: #211c29;
}
@media (prefers-reduced-motion: reduce) {
  .form-wrap select {
    transition: none;
  }
}

/* Founder portrait */
.story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  align-items: center;
  gap: clamp(30px, 6vw, 100px);
  text-align: left;
  padding: 70px max(6%, calc((100vw - 1200px) / 2));
}
.story-hero p {
  margin: 0;
}
.story-hero-photo {
  margin: 0;
}
.story-hero-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  object-position: center 52%;
}
@media (max-width: 700px) {
  .story-hero {
    display: block;
    padding: 64px 6% 0;
    text-align: center;
  }
  .story-hero p {
    margin: 0 auto;
  }
  .story-hero-photo {
    max-width: 370px;
    margin: 35px auto 0;
  }
}


/* Collection hero */
.hero {
  position: relative;
  display: block;
  min-height: 740px;
  background: #2d193b;
}
.hero-image {
  position: absolute;
  inset: 0;
  min-height: 0;
  background: #2d193b url("../images/collection/collection-full-editorial.webp") center 55% / cover
    no-repeat;
}
.hero-image:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(39, 21, 52, 0.83) 0%,
    rgba(39, 21, 52, 0.72) 31%,
    rgba(39, 21, 52, 0.1) 57%,
    transparent 100%
  );
}
.hero-copy {
  position: relative;
  z-index: 1;
  min-height: 740px;
  max-width: 650px;
}
.hero-visual-note {
  position: absolute;
  right: 2.5%;
  bottom: 15px;
  z-index: 2;
  margin: 0 !important;
  padding: 4px 8px;
  background: rgba(36, 22, 47, 0.8);
  font-size: 11px !important;
  line-height: 1.4 !important;
  color: #f8f4ed;
}
@media (max-width: 700px) {
  .hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .hero-image {
    order: 0;
    position: relative;
    inset: auto;
    min-height: clamp(230px, 60vw, 380px);
    background-size: contain;
    background-position: center;
  }
  .hero-image:after {
    display: none;
  }
  .hero-copy {
    order: 2;
    min-height: 0;
    max-width: none;
    background: var(--violet-dark);
  }
  .hero-visual-note {
    position: static;
    order: 1;
    background: var(--violet-dark);
    text-align: center;
    padding: 5px 12px 13px;
  }
}
.hero-visual-note {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 12px 6% !important;
  background: var(--violet-dark) !important;
  font-size: 12px !important;
  line-height: 1.55 !important;
  color: #f8f4ed !important;
  text-align: center;
}
/* Product specifications */
.catalog-details {
  margin: 16px 7px 20px;
  border-top: 1px solid #d8c9d8;
  padding-top: 16px;
}
.catalog-details .catalog-price {
  font-family: var(--font-body);
  font-size: 28px;
  line-height: 1.2;
  color: var(--violet);
  margin: 0 0 6px;
}
.catalog-details .catalog-metal {
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin: 0 0 10px;
  color: #675979;
}
.catalog-details ul {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
.catalog-details li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px solid #eee6ee;
  padding: 5px 0;
  font-size: 13px;
  color: #564a61;
}
.catalog-details li strong {
  font-weight: 500;
  color: #251c2e;
  white-space: nowrap;
}
.catalog-details label {
  font-size: 11px;
  letter-spacing: 0.08em;
  margin: 0 0 6px;
}
.catalog-details select {
  appearance: none;
  width: 100%;
  min-height: 44px;
  padding: 9px 34px 9px 12px;
  border: 1px solid #9b87aa;
  border-bottom: 2px solid var(--gold);
  border-radius: 2px;
  background: #f7f3f9
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='10'%3E%3Cpath d='m2 2 6 6 6-6' fill='none' stroke='%2373562a' stroke-width='2'/%3E%3C/svg%3E")
    right 12px center/14px 9px no-repeat;
  color: var(--ink);
  cursor: pointer;
}
.catalog-details select:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 2px;
}
.catalog-fineprint {
  margin: 42px 0 0;
  color: #645a6b;
  font-size: 12px;
  line-height: 1.6;
  max-width: 760px;
}
.signature-card .catalog-details p {
  margin-left: 0;
  margin-right: 0;
}
.product-card .catalog-details {
  margin-left: 0;
  margin-right: 0;
}


/* Brand mark */
header .mark,
footer .mark {
  object-fit: contain;
  display: block;
  filter: none;
}
.signature-main,
.founder-photo,
.story-hero-photo {
  position: relative;
}
.signature-main::after,
.product-image::before,
.bespoke-editorials figure::after,
.founder-photo::after,
.story-hero-photo::after,
.hero-image::before {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 14px;
  width: clamp(28px, 3vw, 44px);
  height: clamp(34px, 3.6vw, 53px);
  background: url("../images/brand/variants/tl-monogram/gold-transparent.svg") center/contain no-repeat;
  opacity: 0.82;
  filter: drop-shadow(0 1px 3px rgba(24, 14, 33, 0.65));
  z-index: 3;
  pointer-events: none;
}
.hero-image::before {
  width: 55px;
  height: 67px;
  right: 22px;
  bottom: 22px;
}
@media (max-width: 700px) {
  .signature-main::after,
  .product-image::before,
  .bespoke-editorials figure::after,
  .founder-photo::after,
  .story-hero-photo::after,
  .hero-image::before {
    right: 10px;
    bottom: 10px;
    width: 29px;
    height: 36px;
  }
}

/* Image mark contrast */
header .mark {
  width: 43px;
  height: 43px;
}
footer .mark {
  width: 46px;
  height: 46px;
}
.signature-main::after,
.product-image::before,
.bespoke-editorials figure::after,
.founder-photo::after,
.story-hero-photo::after,
.hero-image::before {
  width: 42px;
  height: 52px;
  opacity: 1;
  filter: none;
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
}
.bespoke-editorials .wide-portrait::after,
.bespoke-editorials .tall-portrait::after {
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
}
.hero-image::before {
  width: 48px;
  height: 60px;
}
@media (max-width: 700px) {
  .signature-main::after,
  .product-image::before,
  .bespoke-editorials figure::after,
  .founder-photo::after,
  .story-hero-photo::after,
  .hero-image::before {
    width: 34px;
    height: 43px;
  }
  .identity .mark {
    width: 35px;
    height: 35px;
  }
}

/* Home typography */
.hero h1 {
  font-size: clamp(48px, 5.15vw, 80px);
  line-height: 1.04;
}
.hero-copy {
  max-width: 720px;
}
.hero .eyebrow {
  line-height: 1.6;
}
@media (max-width: 700px) {
  .hero h1 {
    font-size: clamp(46px, 11vw, 66px);
  }
}

/* Korean typography */
html[lang="ko"] body {
  line-height: 1.85;
  word-break: keep-all;
  overflow-wrap: break-word;
}
html[lang="ko"] h1,
html[lang="ko"] :is(h1, h2),
html[lang="ko"] h3 {
  font-weight: 500;
  line-height: 1.38;
  letter-spacing: -0.045em;
  word-break: keep-all;
}
html[lang="ko"] .hero h1 {
  font-size: clamp(37px, 3.7vw, 56px);
  line-height: 1.32;
  max-width: 650px;
  margin: 24px 0;
}
html[lang="ko"] .hero-copy {
  max-width: 750px;
  padding-left: clamp(26px, 6vw, 90px);
  padding-right: clamp(26px, 6vw, 90px);
}
html[lang="ko"] .hero p {
  font-size: 17px;
  line-height: 1.85;
  max-width: 590px;
}
html[lang="ko"] :is(h1, h2) {
  font-size: clamp(29px, 3.06vw, 44px);
  line-height: 1.4;
}
html[lang="ko"] h3 {
  font-size: clamp(24px, 2.15vw, 31px);
  line-height: 1.45;
}
html[lang="ko"] .page-hero h1 {
  font-size: clamp(37px, 4vw, 56px);
  line-height: 1.34;
}
html[lang="ko"] .page-hero p {
  font-size: 17px;
  line-height: 1.8;
  max-width: 750px;
}
html[lang="ko"] .intro {
  font-size: clamp(20px, 1.9vw, 26px);
  line-height: 1.85;
  letter-spacing: -0.035em;
}
html[lang="ko"] .story p {
  font-size: 17px;
  line-height: 2;
  letter-spacing: -0.02em;
}
html[lang="ko"] .story .quote {
  font-size: clamp(20px, 2.1vw, 29px);
  line-height: 1.75;
}
html[lang="ko"] .split {
  gap: 6vw;
}
html[lang="ko"] .split p,
html[lang="ko"] .step p,
html[lang="ko"] .founders p {
  line-height: 1.9;
}
html[lang="ko"] nav a {
  font-size: 13px;
  letter-spacing: -0.035em;
  text-transform: none;
}
html[lang="ko"] .eyebrow,
html[lang="ko"] .meta,
html[lang="ko"] label {
  letter-spacing: 0;
  text-transform: none;
}
html[lang="ko"] .eyebrow {
  font-size: 14px;
  line-height: 1.6;
}
html[lang="ko"] .button {
  font-size: 14px;
  letter-spacing: -0.025em;
  line-height: 1.5;
  text-transform: none;
  min-height: 48px;
}
html[lang="ko"] .signature-card h3,
html[lang="ko"] .product-card h3 {
  font-size: 25px;
  line-height: 1.5;
}
html[lang="ko"] .signature-card p {
  line-height: 1.8;
}
html[lang="ko"] .signature-card .meta,
html[lang="ko"] .product-card .meta {
  font-size: 14px;
  line-height: 1.6;
}
html[lang="ko"] .catalog-details .catalog-price {
  font-size: 22px;
  font-weight: 600;
}
html[lang="ko"] .catalog-details label,
html[lang="ko"] .catalog-details li,
html[lang="ko"] .catalog-details .catalog-metal {
  font-size: 14px;
  line-height: 1.65;
  letter-spacing: 0;
}
html[lang="ko"] .catalog-fineprint,
html[lang="ko"] .editorial-note,
html[lang="ko"] .form-note {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
html[lang="ko"] .hero-visual-note {
  font-size: 14px !important;
  line-height: 1.7 !important;
}
html[lang="ko"] .form-wrap label {
  font-size: 14px;
}
@media (min-width: 701px) and (max-width: 1050px) {
  html[lang="ko"] header nav {
    flex-wrap: wrap;
    row-gap: 0;
  }
}
@media (max-width: 700px) {
  html[lang="ko"] .hero h1 {
    font-size: clamp(34px, 9vw, 43px);
  }
  html[lang="ko"] .hero-copy {
    padding: 44px 7% 58px;
  }
  html[lang="ko"] .hero p {
    font-size: 16px;
  }
  html[lang="ko"] .page-hero h1 {
    font-size: clamp(34px, 8vw, 43px);
  }
  html[lang="ko"] :is(h1, h2) {
    font-size: clamp(26px, 6.48vw, 33px);
  }
  html[lang="ko"] .intro {
    font-size: 20px;
  }
  html[lang="ko"] .split {
    gap: 28px;
  }
  html[lang="ko"] .story p {
    font-size: 16px;
    line-height: 1.95;
  }
}


/* Home animation */
.hero {
  overflow: hidden;
}
.hero-image {
  position: relative;
  isolation: isolate;
  animation:
    atelier-image-reveal 1.45s cubic-bezier(0.2, 0.75, 0.25, 1) both,
    atelier-image-drift 16s ease-in-out 1.45s infinite alternate;
}
.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    112deg,
    transparent 30%,
    rgba(255, 244, 210, 0.16) 48%,
    transparent 65%
  );
  transform: translateX(-130%);
  animation: atelier-light-pass 7s ease-in-out 2s infinite;
}
.hero-copy::before {
  animation: atelier-rule 0.8s ease-out 0.25s both;
  transform-origin: left center;
}
.hero-copy > .eyebrow,
.hero-copy > h1,
.hero-copy > p,
.hero-copy > .actions,
.hero-visual-note {
  animation: atelier-rise 0.9s cubic-bezier(0.2, 0.75, 0.25, 1) both;
}
.hero-copy > .eyebrow {
  animation-delay: 0.14s;
}
.hero-copy > h1 {
  animation-delay: 0.3s;
}
.hero-copy > p {
  animation-delay: 0.49s;
}
.hero-copy > .actions {
  animation-delay: 0.68s;
}
.hero-visual-note {
  animation-delay: 1.05s;
}
.hero .button {
  transition:
    transform 0.3s ease,
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}
.hero .button:hover {
  transform: translateY(-3px);
}
.home-reveal {
  opacity: 0;
  transform: translateY(34px);
  transition:
    opacity 1s ease,
    transform 1s cubic-bezier(0.2, 0.75, 0.25, 1);
}
.home-reveal.is-visible {
  opacity: 1;
  transform: none;
}
@keyframes atelier-rise {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes atelier-rule {
  from {
    opacity: 0;
    transform: scaleX(0);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}
@keyframes atelier-image-reveal {
  from {
    opacity: 0.25;
    clip-path: inset(0 100% 0 0);
    background-size: auto 112%;
  }
  to {
    opacity: 1;
    clip-path: inset(0);
    background-size: auto 105%;
  }
}
@keyframes atelier-image-drift {
  from {
    background-size: auto 105%;
    background-position: center 48%;
  }
  to {
    background-size: auto 111%;
    background-position: center 53%;
  }
}
@keyframes atelier-light-pass {
  0%,
  63%,
  100% {
    transform: translateX(-130%);
  }
  77% {
    transform: translateX(130%);
  }
}
@media (max-width: 700px) {
  .hero-image {
    animation:
      atelier-image-reveal 1.2s cubic-bezier(0.2, 0.75, 0.25, 1) both,
      atelier-image-drift 16s ease-in-out 1.2s infinite alternate;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image,
  .hero-image::after,
  .hero-copy::before,
  .hero-copy > .eyebrow,
  .hero-copy > h1,
  .hero-copy > p,
  .hero-copy > .actions,
  .hero-visual-note {
    animation: none !important;
    clip-path: none !important;
  }
  .hero .button {
    transition: none;
  }
  .hero .button:hover {
    transform: none;
  }
  .home-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Link states */
a {
  text-decoration: none;
}
.lang.active {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
  color: var(--gold);
}
footer .languages .lang.active {
  color: var(--gold);
  text-decoration: underline;
  text-underline-offset: 5px;
}
footer .languages .lang:not(.active) {
  color: var(--ivory);
  text-decoration: none;
}

/* Hero image framing */
.hero {
  position: relative;
  min-height: clamp(620px, 55vw, 850px);
  overflow: hidden;
  background: #2d193b;
}
.hero-image {
  position: absolute;
  inset: 0;
  min-height: 0;
  background-color: #2d193b;
  background-image: url("../images/collection/collection-full-editorial.webp");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  animation: atelier-image-reveal-stable 1.15s ease-out both;
  isolation: auto;
}
.hero-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(39, 21, 52, 0.9) 0%,
    rgba(39, 21, 52, 0.72) 29%,
    rgba(39, 21, 52, 0.14) 55%,
    transparent 75%
  );
  transform: none;
  animation: none;
  pointer-events: none;
}
.hero-image::before {
  right: clamp(10px, 2vw, 30px);
  bottom: clamp(10px, 2vw, 30px);
  width: clamp(34px, 4vw, 55px);
  height: clamp(43px, 5vw, 67px);
  z-index: 4;
}
.hero-copy {
  min-height: clamp(620px, 55vw, 850px);
}
@keyframes atelier-image-reveal-stable {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 700px) {
  .hero {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .hero-image {
    order: 0;
    position: relative;
    inset: auto;
    min-height: 0;
    width: 100%;
    aspect-ratio: 1672/941;
    background-size: contain;
    background-position: center;
    animation: atelier-image-reveal-stable 1s ease-out both;
  }
  .hero-image::after {
    display: none;
  }
  .hero-image::before {
    right: 10px;
    bottom: 10px;
    width: 34px;
    height: 43px;
  }
  .hero-copy {
    order: 2;
    min-height: 0;
  }
  .hero-visual-note {
    order: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image {
    animation: none !important;
  }
}
/* Product options */
.diamond-choice {
  border: 0;
  padding: 0;
  margin: 22px 0 8px;
  min-width: 0;
}
.diamond-choice legend {
  font-size: 14px;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
  color: #49366f;
}
.stone-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.stone-choice {
  position: relative;
  display: block;
  margin: 0;
  text-transform: none;
  letter-spacing: 0;
}
.stone-choice input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}
.stone-choice span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 9px 10px;
  border: 1px solid #b9a8c8;
  background: #f8f5fa;
  color: #49366f;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
  transition:
    background 0.2s,
    border-color 0.2s,
    transform 0.2s;
}
.stone-choice:hover span {
  border-color: #735b90;
  background: #efe8f4;
}
.stone-choice input:checked + span {
  background: #49366f;
  color: white;
  border-color: #49366f;
  box-shadow: inset 0 -3px 0 #d8b35b;
}
.stone-choice input:focus-visible + span {
  outline: 2px solid #a77a33;
  outline-offset: 2px;
}
.form-wrap {
  max-width: 840px;
}
.form-wrap > p {
  max-width: 580px;
  font-size: 18px;
  margin: 0 0 35px;
}
.form-wrap form {
  padding: clamp(24px, 4vw, 48px);
  background: #fff;
  border: 1px solid #d7c6dc;
  box-shadow: 0 22px 55px rgba(49, 35, 68, 0.07);
}
.form-wrap .field label {
  font-size: 14px;
  letter-spacing: 0.03em;
  text-transform: none;
  color: #49366f;
  font-weight: 600;
}
.form-wrap input,
.form-wrap textarea {
  background: #fbf9fc;
  border: 1px solid #c5b6ce;
  border-bottom: 2px solid #ad8d4d;
  padding: 14px 16px;
  border-radius: 2px;
}
.form-wrap input:focus,
.form-wrap textarea:focus {
  background: #fff;
}
.form-wrap textarea {
  min-height: 155px;
}
.form-wrap .form-note {
  line-height: 1.6;
  margin: 18px 0;
}
.contact-options {
  margin: 18px 0 28px;
}
.contact-options summary {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #49366f;
  border-bottom: 1px solid #d8b35b;
  padding: 9px 0;
  font-size: 15px;
}
.contact-options[open] summary {
  margin-bottom: 24px;
}
.contact-options summary::marker {
  color: #d8b35b;
}
.contact-options .form-grid {
  gap: 18px;
}
.contact-options .field {
  margin-bottom: 10px;
}
.contact-options select {
  width: 100%;
}
.form-wrap .button.fill {
  min-height: 52px;
}
.form-wrap .success {
  background: #f5eff8;
  border-color: #bba4c8;
  margin-top: 20px;
}
.legal :is(h1, h2) {
  font-size: clamp(30px, 3vw, 42px);
  margin: 48px 0 14px;
}
.legal h3 {
  font-size: clamp(24px, 2.5vw, 30px);
  margin: 30px 0 10px;
}
.legal p,
.legal li {
  font-size: 16px;
  line-height: 1.8;
}
.legal ul {
  padding-left: 22px;
}
.legal .legal-date {
  color: #6b577e;
  font-size: 14px;
}
.legal section {
  border-top: 1px solid #d7c6dc;
  padding-top: 8px;
  margin-top: 38px;
}
@media (max-width: 600px) {
  .stone-options {
    grid-template-columns: 1fr 1fr;
  }
  .form-wrap form {
    padding: 22px;
  }
  .contact-options .form-grid {
    grid-template-columns: 1fr;
  }
}
@media (prefers-reduced-motion: reduce) {
  .stone-choice span {
    transition: none;
  }
}

/* Product pages */
.product-card-image-link {
  display: block;
  text-decoration: none;
}
.signature-card h3 a,
.product-card h3 a {
  text-decoration: none;
}
.product-card-image-link:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 3px;
}
.signature-card .catalog-price,
.product-card .catalog-price {
  margin: 18px 7px;
  font-size: 17px;
  color: #49366f;
}
.product-card .button {
  margin-top: 12px;
}
.product-page-heading {
  position: relative;
}
.product-page-heading .return-link {
  display: inline-block;
  color: #f2d885;
  margin-bottom: 22px;
  text-decoration: none;
  font-size: 14px;
}
.product-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.9fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: start;
}
.product-detail-gallery {
  max-width: 660px;
}
.product-detail-image {
  margin: 0;
  background: #f0eaf1;
  aspect-ratio: 4/5;
  position: relative;
  overflow: hidden;
}
.product-detail-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.product-detail-content {
  position: sticky;
  top: 110px;
}
.product-detail-content :is(h1, h2) {
  font-size: clamp(42px, 4vw, 64px);
}
.product-detail-type {
  color: #6b577e;
}
.product-detail-content > p {
  font-size: 18px;
  line-height: 1.7;
}
.product-detail-content .catalog-details {
  margin: 30px 0;
}
.product-detail-content .button {
  margin-top: 18px;
}
.product-detail .editorial-note {
  margin-top: 14px !important;
}
@media (max-width: 850px) {
  .product-detail {
    grid-template-columns: 1fr;
  }
  .product-detail-content {
    position: static;
  }
  .product-detail-gallery {
    max-width: none;
  }
}

.hero-image::before {
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
  filter: drop-shadow(0 1px 3px rgba(24, 14, 33, 0.7));
  opacity: 1;
}


/* Brand story */
.brand-story .story-opening {
  padding-top: 100px;
  padding-bottom: 85px;
}
.brand-story .story-opening .eyebrow {
  display: block;
  margin-bottom: 22px;
}
.story-wide-image {
  margin: 0 auto;
  max-width: 1500px;
  background: #302248;
  position: relative;
}
.story-wide-image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1672/941;
  object-fit: contain;
}
.story-wide-image figcaption {
  position: absolute;
  right: 18px;
  bottom: 16px;
  background: rgba(34, 22, 47, 0.78);
  color: #fff;
  padding: 6px 12px;
  font-size: 13px;
}
.brand-story .story-middle {
  padding-top: 95px;
  padding-bottom: 75px;
}
.story-image-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 3vw, 34px);
  padding-top: 0;
  padding-bottom: 90px;
}
.story-image-pair figure {
  margin: 0;
  position: relative;
  background: #eee9f2;
}
.story-image-pair img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.story-image-pair figcaption {
  font-size: 13px;
  color: #5e5265;
  margin-top: 9px;
}
.brand-story .story-closing {
  padding-top: 0;
  padding-bottom: 105px;
}
.brand-story .story-closing .quote {
  margin-top: 45px;
}
.brand-people {
  background: #f3eff5;
  border-top: 1px solid #d4c6de;
}
.brand-people-heading {
  max-width: 800px;
  margin-bottom: 52px;
}
.brand-people-heading p {
  font-size: 18px;
}
.brand-people .founders {
  gap: clamp(30px, 7vw, 100px);
}
.brand-people .founders article {
  border-top-color: #a78eb8;
}
.brand-people .founders h3 {
  font-size: clamp(34px, 3vw, 45px);
  margin: 12px 0 18px;
}
.brand-people .founders p {
  font-size: 16px;
  line-height: 1.8;
}
.brand-people .founder-photo {
  max-width: none;
}
.brand-people .founder-photo img {
  aspect-ratio: 4/5;
}
.story-wide-image,
.story-image-pair figure,
.brand-people .founder-photo {
  overflow: hidden;
}
@media (max-width: 700px) {
  .brand-story .story-opening {
    padding-top: 60px;
    padding-bottom: 55px;
  }
  .brand-story .story-middle {
    padding-top: 65px;
    padding-bottom: 45px;
  }
  .story-image-pair {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-bottom: 65px;
  }
  .story-image-pair img {
    aspect-ratio: 4/5;
  }
  .story-wide-image figcaption {
    right: 8px;
    bottom: 8px;
    font-size: 11px;
  }
  .brand-story .story-closing {
    padding-bottom: 70px;
  }
  .brand-people-heading {
    margin-bottom: 35px;
  }
}

.jewelry-choices {
  border-top: 1px solid #dac9df;
  margin-top: 25px;
  padding-top: 6px;
}
.jewelry-choices .diamond-choice {
  margin: 20px 0;
}
.jewelry-choices .stone-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.jewelry-choices .diamond-choice:nth-child(2) .stone-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.jewelry-choices .diamond-choice:nth-child(3) .stone-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.jewelry-choices .stone-choice span {
  min-height: 48px;
}
.choice-hint {
  font-size: 13px !important;
  line-height: 1.6 !important;
  color: #6b577e;
  margin: 16px 0;
}
.selection-summary {
  padding: 18px 20px;
  margin-bottom: 28px;
  background: #f3edf6;
  border-left: 3px solid #d8b35b;
  display: flex;
  gap: 7px;
  flex-direction: column;
  color: #49366f;
}
.selection-summary strong {
  font-size: 13px;
  letter-spacing: 0.05em;
}
.selection-summary span {
  font-family: var(--font-display);
  font-size: 27px;
}
@media (max-width: 600px) {
  .jewelry-choices .diamond-choice:nth-child(2) .stone-options,
  .jewelry-choices .diamond-choice:nth-child(3) .stone-options {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.natural-premium {
  padding: 13px 16px;
  border-left: 3px solid var(--gold);
  background: #faf4e7;
  color: #5c4024;
  font-size: 14px !important;
  line-height: 1.5 !important;
  margin-top: 13px;
}
.product-purchase-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 25px;
}
.product-purchase-actions .button {
  text-align: center;
  line-height: 1.4;
}
.cart-feedback {
  padding: 13px 16px;
  background: #f3edf6;
  color: #49366f;
}
.cart-feedback a {
  color: #49366f;
  border-bottom: 1px solid var(--gold);
}
.product-detail-content .text-link {
  display: inline-block;
  margin-top: 15px;
  color: #49366f;
  border-bottom: 1px solid var(--gold);
}
header #cart-count {
  font-size: 11px;
  color: var(--gold);
}
.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.7fr);
  gap: clamp(25px, 5vw, 70px);
}
.cart-item {
  display: grid;
  grid-template-columns: 132px 1fr;
  gap: 20px;
  padding: 22px 0;
  border-bottom: 1px solid #d8cadf;
}
.cart-item img {
  display: block;
  width: 132px;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.cart-item :is(h1, h2) {
  font-size: 29px;
  margin: 0 0 10px;
}
.cart-item p {
  margin: 5px 0;
  color: #5f5368;
}
.cart-item-actions {
  display: flex;
  gap: 20px;
  align-items: center;
  margin-top: 12px;
}
.cart-item-actions button {
  border: 0;
  background: none;
  border-bottom: 1px solid var(--gold);
  padding: 0;
  color: #49366f;
}
.cart-checkout {
  background: #f4eff6;
  border: 1px solid #d9c8e0;
  padding: clamp(22px, 3vw, 34px);
  align-self: start;
}
.cart-checkout :is(h1, h2) {
  font-size: 32px;
}
.cart-checkout ol {
  padding-left: 22px;
  margin: 25px 0;
}
.cart-checkout li {
  margin-bottom: 14px;
}
.cart-checkout input {
  background: #fff;
  margin-bottom: 16px;
}
.cart-checkout .button {
  width: 100%;
  margin-top: 8px;
  white-space: normal;
}
.cart-empty {
  text-align: center;
  padding: 75px 15px;
}
.cart-empty p {
  font-size: 22px;
}
.cart-page .notice {
  margin-top: 25px;
}
@media (max-width: 800px) {
  .cart-layout {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 500px) {
  .cart-item {
    grid-template-columns: 95px 1fr;
    gap: 14px;
  }
  .cart-item img {
    width: 95px;
  }
  .cart-item :is(h1, h2) {
    font-size: 25px;
  }
}
/* Image marks */
.hero-image::before {
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
  filter: drop-shadow(0 1px 2px rgba(255, 255, 255, 0.45));
  right: max(20px, calc((100vw - 1510px) / 2 + 20px));
}
.signature-main::after,
.product-image::before,
.product-detail-image::after,
.story-wide-image::after,
.story-image-pair figure::after {
  content: "";
  position: absolute;
  right: clamp(10px, 2vw, 24px);
  bottom: clamp(10px, 2vw, 24px);
  width: clamp(35px, 4vw, 54px);
  height: clamp(43px, 5vw, 66px);
  background: url("../images/brand/variants/tl-monogram/purple-transparent.svg") center/contain no-repeat;
  z-index: 4;
  pointer-events: none;
  opacity: 1;
}
.story-image-pair figure::after {
  bottom: 38px;
}
.story-wide-image::after {
  bottom: 48px;
}
.product-detail-image::after {
  right: 18px;
  bottom: 18px;
}
.bespoke-editorials .still-life::after {
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
}
.bespoke-editorials .wide-portrait::after,
.bespoke-editorials .tall-portrait::after {
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.5));
}
@media (max-width: 700px) {
  .hero-image::before {
    right: 10px;
    bottom: 10px;
  }
  .story-wide-image::after {
    bottom: 40px;
    width: 32px;
    height: 40px;
  }
  .story-image-pair figure::after {
    bottom: 35px;
    width: 32px;
    height: 40px;
  }
}

.cart-item > a {
  position: relative;
  display: block;
  align-self: start;
}
.cart-item > a::after {
  content: "";
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 24px;
  height: 29px;
  background: url("../images/brand/variants/tl-monogram/purple-transparent.svg") center/contain no-repeat;
  pointer-events: none;
}
.ring-sizing {
  margin: 1.2rem 0 1.5rem;
}
.ring-size-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.55rem;
}
.ring-size-heading label {
  font-size: 0.77rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ring-size-heading button {
  border: 0;
  background: transparent;
  color: #542b62;
  font: inherit;
  font-size: 0.85rem;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.ring-sizing select {
  width: 100%;
  min-height: 46px;
  background: #fff;
  border: 1px solid #c8b8bb;
  border-radius: 2px;
  padding: 0.65rem 0.8rem;
  color: inherit;
  font: inherit;
}
.ring-size-note {
  font-size: 0.79rem;
  opacity: 0.75;
  margin: 0.45rem 0 0;
}
.ring-size-dialog {
  border: 1px solid #c6aa93;
  background: #fbf8f4;
  color: #302633;
  max-width: min(92vw, 640px);
  max-height: 85vh;
  padding: 2rem;
  box-shadow: 0 18px 70px #1d101a48;
}
.ring-size-dialog::backdrop {
  background: #1d1323a8;
}
.ring-size-dialog :is(h1, h2) {
  font-size: 1.8rem;
  margin: 0.2rem 0 1rem;
}
.ring-size-dialog p,
.ring-size-dialog li {
  line-height: 1.6;
}
.ring-size-dialog table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.89rem;
  margin: 1rem 0;
}
.ring-size-dialog th,
.ring-size-dialog td {
  border-bottom: 1px solid #e0d3cb;
  text-align: left;
  padding: 0.38rem 0.5rem;
}
.ring-size-dialog .dialog-close {
  float: right;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 1.6rem;
  cursor: pointer;
  line-height: 1;
}
.ring-size-dialog .guide-source {
  font-size: 0.8rem;
}
/* Hero aspect ratio */
@media (min-width: 1101px) {
  .hero {
    display: block;
    aspect-ratio: 1672/941;
    min-height: 0;
  }
  .hero-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    background-size: cover;
    background-position: center;
  }
  .hero-copy {
    position: relative;
    z-index: 1;
    max-width: 52%;
    height: 100%;
    min-height: 0;
    padding: clamp(32px, 5vw, 88px);
  }
  html[lang="ko"] .hero-copy {
    max-width: 56%;
  }
  .hero-visual-note {
    position: absolute !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0;
    z-index: 2;
  }
}
@media (max-width: 1100px) {
  .hero {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    min-height: 0;
  }
  .hero-image {
    position: relative;
    inset: auto;
    order: 0;
    display: block;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 1672/941;
    background-size: cover;
    background-position: center;
  }
  .hero-image::after {
    display: none;
  }
  .hero-visual-note {
    position: relative !important;
    order: 1;
    right: auto !important;
    bottom: auto !important;
  }
  .hero-copy,
  html[lang="ko"] .hero-copy {
    order: 2;
    max-width: none;
    height: auto;
    min-height: 0;
  }
}

.share-panel {
  margin: 1.5rem 0;
  padding: 1.2rem;
  border: 1px solid #d6c5d5;
  background: #faf7fb;
}
.share-panel h3 {
  font-size: 1.5rem;
  margin: 0 0 0.35rem;
}
.share-panel p {
  font-size: 0.88rem;
  margin: 0.35rem 0 1rem;
  color: #5d4d61;
}
.share-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.share-actions button,
.share-actions a,
.wish-button {
  border: 1px solid #ac8dad;
  background: transparent;
  color: #472b53;
  padding: 0.55rem 0.85rem;
  text-decoration: none;
  font: inherit;
  font-size: 0.85rem;
  line-height: 1.3;
  cursor: pointer;
}
.share-actions button:hover,
.share-actions a:hover,
.wish-button:hover {
  background: #eee4ef;
}
.share-status {
  font-size: 0.85rem;
  color: #4e285a;
  margin: 0.7rem 0 0 !important;
}
.wish-button[aria-pressed="true"] {
  background: #573663;
  color: #fff;
}
.wishlist-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.2rem;
}
.wishlist-card {
  background: #fff;
  border: 1px solid #e2d7e2;
  padding: 1rem;
}
.wishlist-card img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.wishlist-card :is(h1, h2) {
  font-size: 1.7rem;
}
.wishlist-card .wish-button {
  margin-top: 0.5rem;
}
.ring-diagram {
  display: block;
  width: 100%;
  max-height: 190px;
  margin: 1rem 0;
  background: #f4edf2;
  border: 1px solid #e2d4df;
}
.ring-diagram text {
  font-family: Arial, sans-serif;
  fill: #4b3057;
  font-size: 13px;
}
@media (max-width: 700px) {
  .wishlist-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 450px) {
  .wishlist-grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 701px) and (max-width: 1380px) {
  .top {
    flex-wrap: wrap;
  }
  nav {
    order: 3;
    width: 100%;
    justify-content: center;
  }
}
/* Collection mark placement */
.hero-image::before,
.story-wide-image::after {
  left: clamp(12px, 2vw, 26px) !important;
  top: clamp(12px, 2vw, 26px) !important;
  right: auto !important;
  bottom: auto !important;
  width: clamp(30px, 3vw, 44px) !important;
  height: clamp(38px, 3.8vw, 55px) !important;
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg") !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.38)) !important;
}
.story-wide-image figcaption {
  display: none !important;
}
.ring-diagram-photo {
  display: block;
  width: 100%;
  height: auto;
  margin: 1rem 0 1.2rem;
  border: 1px solid #e2d4df;
  background: #faf6ed;
}
.bespoke-editorials .still-life::after {
  left: clamp(12px, 2vw, 24px);
  top: clamp(12px, 2vw, 24px);
  right: auto;
  bottom: auto;
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg") !important;
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.4));
}
@media (max-width: 700px) {
  .hero-brand,
  html[lang="ko"] .hero-brand {
    font-size: clamp(42px, 10vw, 64px) !important;
  }
  .hero-copy,
  html[lang="ko"] .hero-copy {
    padding: 44px 7% 48px !important;
  }
}


/* Bespoke steps */
.steps {
  gap: clamp(16px, 2.3vw, 32px);
}
.step {
  padding-top: 15px;
}
.step-illustration {
  display: block;
  width: 100%;
  aspect-ratio: 1.05;
  object-fit: cover;
  margin: 6px 0 17px;
  border: 1px solid #e5dece;
  background: #f5f0e7;
}
.step h3 {
  font-size: clamp(29px, 2.5vw, 37px);
  margin-top: 3px;
}
.step p {
  font-size: 16px;
  line-height: 1.65;
}
@media (max-width: 700px) {
  .steps {
    gap: 38px;
  }
  .step-illustration {
    aspect-ratio: 1.3;
    max-height: 350px;
  }
  .step {
    max-width: 540px;
    margin: auto;
  }
}

/* Stone guide */
.stone-hero {
  padding-bottom: 84px;
}
.stone-hero h1 {
  max-width: 1050px;
  margin: 18px auto 25px;
}
.stone-hero p {
  max-width: 820px;
  font-size: 18px;
  line-height: 1.65;
}
.stone-guide {
  padding-top: 75px;
}
.stone-guide :is(h1, h2) {
  font-size: clamp(38px, 4vw, 60px);
  margin: 12px 0 20px;
}
.stone-guide p {
  font-size: 17px;
  line-height: 1.8;
}
.stone-index {
  color: var(--violet);
  font:
    600 13px/1.5 Georgia,
    serif;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}
.stone-intro-grid,
.stone-species {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(25px, 6vw, 85px);
  margin-bottom: 80px;
}
.stone-intro-grid section,
.stone-species section {
  border-top: 1px solid #b8a6c6;
  padding-top: 22px;
}
.origin-diagram {
  background: #f3eef5;
  border: 1px solid #d9cadc;
  text-align: center;
  padding: 55px clamp(20px, 6vw, 85px);
  margin: 0 0 95px;
}
.origin-diagram :is(h1, h2) {
  margin: 0 0 35px;
}
.origin-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
.origin-paths > div {
  background: #fffdfa;
  border: 1px solid #e7dfe9;
  padding: 28px 15px 25px;
}
.origin-paths h3 {
  font-size: 31px;
}
.origin-paths p {
  font-size: 15px;
  margin: 4px auto;
  max-width: 240px;
}
.origin-dot {
  display: block;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  margin: auto;
  background: #c9b894;
  border: 5px solid #f0e7d5;
  box-shadow: 0 0 0 1px #b19456;
}
.origin-dot.atelier {
  background: #7d669d;
  border-color: #e9dff1;
  box-shadow: 0 0 0 1px #715294;
}
.origin-join {
  height: 42px;
  max-width: 50%;
  margin: auto;
  border-left: 1px solid #9f87b1;
  border-right: 1px solid #9f87b1;
  border-bottom: 1px solid #9f87b1;
  border-radius: 0 0 80px 80px;
}
.origin-result {
  display: inline-block;
  margin: 0 !important;
  padding: 11px 25px;
  background: var(--violet);
  color: white;
  font-size: 16px !important;
}
.stone-compare {
  margin: 85px 0;
}
.stone-table-wrap {
  overflow-x: auto;
  border-top: 2px solid var(--violet);
}
.stone-compare table {
  border-collapse: collapse;
  width: 100%;
  min-width: 610px;
}
.stone-compare th,
.stone-compare td {
  text-align: left;
  vertical-align: top;
  padding: 17px 20px;
  border-bottom: 1px solid #ddd2e2;
  font-size: 15px;
  line-height: 1.6;
}
.stone-compare thead th {
  background: #eee8f2;
  color: #3a2851;
}
.stone-compare tbody th {
  width: 24%;
  font-weight: 600;
}
.stone-simulant {
  padding: 35px clamp(25px, 5vw, 65px);
  border-left: 3px solid var(--gold);
  background: #f8f3e8;
  margin: 0 0 90px;
}
.stone-choice {
  border-top: 1px solid #b8a6c6;
  padding-top: 24px;
}
.stone-choice > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}
.stone-choice p {
  background: #f3eef5;
  padding: 27px;
}
.stone-choice strong {
  color: var(--violet);
  font-size: 22px;
}
.stone-final {
  max-width: 780px;
  margin: 90px auto 70px;
  text-align: center;
}
.stone-final .button {
  margin-top: 15px;
}
.stone-sources {
  border-top: 1px solid #d9cadc;
  padding-top: 25px;
}
.stone-sources h3 {
  font-size: 30px;
}
.stone-sources ol {
  padding-left: 22px;
}
.stone-sources li {
  margin: 8px 0;
}
.stone-sources a {
  color: #4f3a72;
}
.stone-text-link {
  display: inline-block;
  margin: 24px 0 0;
  color: var(--violet);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
.stone-hero-link {
  display: inline-block;
  margin-top: 20px;
  color: var(--gold);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
@media (max-width: 700px) {
  .stone-intro-grid,
  .stone-species,
  .stone-choice > div {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .stone-intro-grid,
  .stone-species {
    margin-bottom: 60px;
  }
  .origin-diagram {
    padding: 36px 17px;
    margin-bottom: 65px;
  }
  .origin-paths {
    gap: 10px;
  }
  .origin-paths > div {
    padding: 19px 9px;
  }
  .origin-paths h3 {
    font-size: 25px;
  }
  .origin-paths p {
    font-size: 13px;
  }
  .stone-compare {
    margin: 65px 0;
  }
  .stone-simulant {
    margin-bottom: 60px;
  }
}
@media (min-width: 1051px) and (max-width: 1450px) {
  .top {
    flex-wrap: wrap;
  }
  nav {
    order: 3;
    width: 100%;
    justify-content: center;
    padding: 8px 0;
  }
}
.stone-identification {
  margin: 10px 0 85px;
}
.identification-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.identification-grid > div {
  border: 1px solid #d8cadf;
  background: #fbf8fc;
  padding: 24px;
}
.identification-number {
  display: block;
  color: #8b709f;
  font-size: 14px;
  letter-spacing: 0.18em;
}
.identification-grid h3 {
  font-size: 27px;
  margin: 14px 0;
}
.identification-grid p {
  font-size: 15px;
  line-height: 1.6;
  margin: 0;
}
@media (max-width: 700px) {
  .identification-grid {
    grid-template-columns: 1fr;
  }
  .stone-identification {
    margin-bottom: 60px;
  }
}
.fancy-diamond {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: clamp(30px, 6vw, 90px);
  align-items: center;
  background: #302248;
  color: #faf8f4;
  padding: clamp(32px, 5vw, 70px);
  margin: 80px 0;
}
.fancy-diamond .stone-index {
  color: #d8b35b;
}
.fancy-diamond :is(h1, h2) {
  color: #fff;
}
.fancy-diamond p {
  max-width: 770px;
}
.fancy-color-dots {
  position: relative;
  height: 220px;
}
.fancy-color-dots i {
  position: absolute;
  display: block;
  width: 95px;
  height: 95px;
  transform: rotate(45deg);
  border: 4px solid rgba(255, 255, 255, 0.75);
  box-shadow:
    inset 0 0 24px rgba(255, 255, 255, 0.65),
    0 6px 20px #160e2b;
}
.fancy-color-dots i:nth-child(1) {
  top: 16px;
  left: 18px;
  background: linear-gradient(135deg, #f9d5e0, #d15795, #692354);
}
.fancy-color-dots i:nth-child(2) {
  top: 89px;
  left: 110px;
  background: linear-gradient(135deg, #a9d6f1, #3478be, #182a78);
}
.fancy-color-dots i:nth-child(3) {
  top: 105px;
  left: 4px;
  background: linear-gradient(135deg, #fff2ba, #dfba51, #806132);
}
@media (max-width: 700px) {
  .fancy-diamond {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .fancy-color-dots {
    height: 100px;
  }
  .fancy-color-dots i {
    width: 54px;
    height: 54px;
    border-width: 2px;
  }
  .fancy-color-dots i:nth-child(1) {
    top: 5px;
    left: 25px;
  }
  .fancy-color-dots i:nth-child(2) {
    top: 23px;
    left: 95px;
  }
  .fancy-color-dots i:nth-child(3) {
    top: 35px;
    left: 165px;
  }
}

.stone-visual-compare {
  margin: -20px 0 90px;
  text-align: center;
}
.stone-visual-compare :is(h1, h2) {
  max-width: 800px;
  margin: 10px auto 15px;
}
.stone-visual-compare .visual-lead {
  max-width: 760px;
  margin: 0 auto 24px;
}
.stone-pair-photo {
  position: relative;
  margin: 0;
  background: #32142a;
  overflow: hidden;
}
.stone-pair-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.stone-pair-photo:after {
  content: "";
  position: absolute;
  top: 22px;
  left: 24px;
  width: 45px;
  height: 45px;
  background: url("../images/brand/variants/tl-monogram/gold-transparent.svg") center/contain no-repeat;
  opacity: 0.9;
  pointer-events: none;
}
.stone-pair-caption {
  display: flex;
  justify-content: center;
  gap: clamp(45px, 15vw, 230px);
  padding: 12px;
  background: #f5f0f5;
  color: #46315d;
  font:
    600 14px/1.4 Georgia,
    serif;
  letter-spacing: 0.16em;
}
.stone-pair-caption span {
  min-width: 55px;
}
.stone-answer {
  background: #3b2955;
  color: #fff;
  padding: 27px 25px 32px;
}
.stone-answer strong {
  display: block;
  font:
    400 clamp(28px, 4vw, 48px)/1.2 "Cormorant Garamond",
    Georgia,
    serif;
  margin: 4px auto;
}
.stone-answer small {
  display: block;
  color: #d8c9dc;
  font-size: 13px;
  line-height: 1.5;
}
.stone-visual-note {
  font-size: 13px !important;
  color: #776b77;
  line-height: 1.5 !important;
  margin: 12px 0 0 !important;
}
.stone-illustration {
  margin: 0 0 22px;
  background: #f8f4ed;
}
.stone-illustration img {
  display: block;
  width: 100%;
  height: auto;
}
.stone-editorial-pair {
  margin: 30px 0 90px;
}
.stone-editorial-pair :is(h1, h2) {
  text-align: center;
  max-width: 850px;
  margin: 0 auto 30px;
}
.stone-editorial-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.stone-editorial-grid figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #eee5ef;
}
.stone-editorial-grid img {
  display: block;
  width: 100%;
  height: clamp(270px, 37vw, 500px);
  object-fit: cover;
}
.stone-editorial-grid figure:after {
  content: "";
  position: absolute;
  top: 18px;
  left: 18px;
  width: 38px;
  height: 38px;
  background: url("../images/brand/variants/tl-monogram/gold-transparent.svg") center/contain no-repeat;
  pointer-events: none;
}
.stone-editorial-grid figure:first-child:after {
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
}
.stone-editorial-grid figcaption {
  background: #f5f1f5;
  color: #544268;
  padding: 14px 18px;
  font-size: 14px;
  line-height: 1.5;
}
.stone-editorial-pair > p {
  text-align: center;
  color: #776b77;
  font-size: 13px;
  max-width: 720px;
  margin: 16px auto 0;
}
@media (max-width: 700px) {
  .stone-visual-compare {
    margin: -20px 0 65px;
  }
  .stone-pair-photo:after {
    top: 10px;
    left: 10px;
    width: 26px;
    height: 26px;
  }
  .stone-pair-caption {
    gap: 24vw;
  }
  .stone-editorial-grid {
    grid-template-columns: 1fr;
  }
  .stone-editorial-grid img {
    height: auto;
    aspect-ratio: 1.35;
    object-fit: cover;
  }
  .stone-editorial-pair {
    margin-bottom: 65px;
  }
}

.cart-consent {
  margin: 22px 0 18px;
  padding: 19px;
  background: #fff;
  border: 1px solid #c6b4d2;
  border-left: 3px solid var(--gold);
}
.cart-consent h3 {
  font:
    400 27px/1.2 "Cormorant Garamond",
    Georgia,
    serif;
  color: #3d2b57;
  margin: 0 0 10px;
}
.cart-consent p {
  font-size: 14px;
  line-height: 1.65;
  margin: 9px 0;
  color: #41364b;
}
.cart-consent .cart-consent-rights {
  color: #5d4d67;
}
.cart-consent a {
  color: #49366f;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cart-consent-choice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 16px 0 3px;
  cursor: pointer;
  color: #322742;
  font-size: 15px;
  line-height: 1.55;
}
.cart-consent-choice input {
  appearance: auto;
  width: 21px;
  height: 21px;
  flex: none;
  margin: 1px 0 0;
  accent-color: #503570;
}
.cart-consent-choice span {
  display: block;
}
.cart-consent-choice input:focus-visible {
  outline: 2px solid #503570;
  outline-offset: 3px;
}
.signature-card {
  display: flex;
  flex-direction: column;
}
.signature-inquire {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 15px 7px 0;
  margin-top: auto;
  padding-top: 12px;
}
.signature-inquire .button,
.signature-inquire .wish-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 11px 14px;
  text-align: center;
  font-size: 14px;
  line-height: 1.35;
  white-space: normal;
}
.signature-inquire .wish-button {
  border-color: #c8b9d1;
  background: #faf7fb;
}
.signature-inquire .wish-button[aria-pressed="true"] {
  background: #573663;
  color: #fff;
}
@media (max-width: 700px) {
  .signature-card {
    padding-bottom: 20px;
  }
  .signature-inquire {
    gap: 9px;
  }
  .signature-inquire .button,
  .signature-inquire .wish-button {
    min-height: 50px;
  }
}


/* Home layout */
.hero {
  display: block;
  position: relative;
  min-height: 0;
  aspect-ratio: 1672/941;
  overflow: hidden;
  background: var(--violet-dark);
}
.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  margin: 0;
  background: none;
  animation: atelier-image-reveal-stable 1s ease-out both;
}
.hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-image::after {
  display: block;
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(39, 21, 52, 0.86) 0%,
    rgba(39, 21, 52, 0.7) 32%,
    rgba(39, 21, 52, 0.08) 59%,
    transparent 75%
  );
  transform: none;
  animation: none;
  pointer-events: none;
}
.hero-image::before {
  left: clamp(12px, 2vw, 26px) !important;
  top: auto !important;
  bottom: clamp(12px, 2vw, 26px) !important;
  right: auto !important;
  width: clamp(28px, 3vw, 42px) !important;
  height: clamp(36px, 3.8vw, 54px) !important;
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg") !important;
  z-index: 2;
}
.hero-copy,
html[lang="ko"] .hero-copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 57%;
  max-width: 680px;
  height: 100%;
  min-height: 0;
  padding: clamp(35px, 5.4vw, 84px) clamp(34px, 6vw, 95px);
  text-align: left;
  background: transparent;
}
.hero-copy::before {
  display: block;
  margin: 0 0 28px;
}
.hero-copy .eyebrow {
  order: initial;
  margin: 0;
  color: var(--gold);
}
.hero h1 {
  font-size: clamp(44px, 5.5vw, 78px);
  line-height: 1.03;
  max-width: 600px;
  margin: 17px 0 20px;
  color: #fffaf2;
}
.hero .hero-statement {
  max-width: 520px;
  margin: 0;
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.65;
  color: #f3edf5;
}
.hero .actions {
  justify-content: flex-start;
  margin-top: 29px;
  gap: 13px;
}
.hero-disclosure {
  margin: 0;
  padding: 11px 6%;
  background: #f7f3f7;
  color: #6d6170;
  text-align: right;
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media (max-width: 1380px) {
  .top {
    position: relative;
    flex-wrap: nowrap;
  }
  .menu {
    display: block;
    order: 3;
    margin-left: 5px;
  }
  .top > .languages {
    display: flex;
    order: 2;
    margin-left: auto;
  }
  nav {
    display: none;
    order: 4;
    width: auto;
    padding: 12px 20px;
  }
  nav.open {
    display: flex;
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 20;
    width: min(390px, 100vw);
    max-height: calc(100vh - 75px);
    overflow: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    background: var(--violet);
    border: 1px solid #8873a7;
    box-shadow: 0 15px 25px #21182b40;
  }
  nav a {
    display: block;
    padding: 10px 9px;
    white-space: normal;
    line-height: 1.4;
  }
}
@media (max-width: 700px) {
  .hero {
    display: flex;
    flex-direction: column;
    aspect-ratio: auto;
    overflow: visible;
  }
  .hero-image {
    position: relative;
    inset: auto;
    order: 0;
    width: 100%;
    height: auto;
    aspect-ratio: 1672/941;
  }
  .hero-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .hero-image::after {
    display: none;
  }
  .hero-image::before {
    left: 10px !important;
    top: 10px !important;
    bottom: auto !important;
    width: 27px !important;
    height: 35px !important;
  }
  .hero-copy,
  html[lang="ko"] .hero-copy {
    order: 1;
    width: 100%;
    max-width: none;
    height: auto;
    padding: 48px 7% 60px;
    text-align: left;
    background: var(--violet-dark);
  }
  .hero-copy::before {
    margin-bottom: 22px;
  }
  .hero h1 {
    font-size: clamp(40px, 9vw, 57px);
  }
  html[lang="ko"] .hero h1 {
    font-size: clamp(31px, 7.2vw, 43px);
  }
  .hero .actions {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 11px;
    width: 100%;
  }
  .hero .actions .button {
    width: 100%;
    margin: 0;
  }
  .hero-disclosure {
    text-align: left;
    font-size: 12px;
  }
  .top {
    flex-wrap: nowrap;
  }
  nav.open {
    left: 0;
    right: 0;
    width: 100%;
  }
}

.home-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  max-width: 1600px;
  margin: 0 auto;
  min-height: 560px;
}
.home-feature-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(50px, 7vw, 110px);
  background: #eee7ef;
}
.home-feature-copy :is(h1, h2) {
  max-width: 650px;
  font-size: clamp(38px, 4vw, 65px);
  line-height: 1.08;
  margin: 18px 0 24px;
}
.home-feature-copy p {
  max-width: 580px;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.75;
  margin: 0 0 28px;
}
.home-feature-image {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e5dce6;
}
.home-feature-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.home-feature-story .home-feature-image {
  background: #f5ece4;
}
.home-feature-story .home-feature-image img {
  object-fit: contain;
  object-position: center;
}
.home-feature-bespoke {
  grid-template-columns: 1.12fr 0.88fr;
  background: #352347;
  color: #fffaf2;
}
.home-feature-bespoke .home-feature-copy {
  background: #352347;
}
.home-feature-bespoke .home-feature-copy :is(h1, h2),
.home-feature-bespoke .home-feature-copy p {
  color: #fffaf2;
}
.home-feature-bespoke .eyebrow {
  color: #d9b973;
}
.home-feature-bespoke .home-feature-image {
  background: #2b1d3d;
}
@media (max-width: 800px) {
  .home-feature,
  .home-feature-bespoke {
    display: flex;
    flex-direction: column;
    min-height: 0;
  }
  .home-feature-copy {
    order: 1;
    padding: 48px 7% 58px;
  }
  .home-feature-image {
    order: 0;
  }
  .home-feature-image img {
    height: auto;
    aspect-ratio: 4/3;
    object-fit: cover;
  }
  .home-feature-story .home-feature-image img {
    aspect-ratio: 4/5;
    object-fit: contain;
    object-position: center;
  }
  .home-feature-bespoke .home-feature-image img {
    aspect-ratio: 3/2;
  }
  .home-feature-copy :is(h1, h2) {
    font-size: clamp(35px, 8vw, 50px);
  }
}
.standard-guide {
  padding-top: 0;
}
.standard-feature {
  margin: 0 0 85px;
  position: relative;
}
.standard-feature img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3/2;
  object-fit: contain;
}
.standard-feature figcaption,
.standard-origin figcaption {
  margin: 10px 0 0;
  color: #706876;
  font-size: 12px;
  line-height: 1.5;
}
.standard-selection {
  max-width: 1040px;
  margin: 0 auto 105px;
  text-align: center;
}
.standard-selection p {
  max-width: 820px;
  margin: 0 auto 42px;
}
.standard-criteria {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #d8ccdd;
  border: 1px solid #d8ccdd;
  text-align: left;
}
.standard-criteria span {
  display: block;
  background: #faf7f9;
  padding: 21px 24px;
  color: #3c2c4c;
  font:
    500 clamp(17px, 2vw, 23px)/1.35 "Cormorant Garamond",
    Georgia,
    serif;
}
.standard-criteria small {
  display: block;
  color: #9b7e53;
  font:
    12px/1.5 Georgia,
    serif;
  letter-spacing: 0.1em;
  margin-bottom: 5px;
}
.standard-commitment {
  background: #39264f;
  color: #fff;
  padding: clamp(38px, 6vw, 85px);
  margin: 0 0 100px;
}
.standard-commitment .stone-index {
  color: #d8bb77;
}
.standard-commitment :is(h1, h2) {
  max-width: 700px;
}
.standard-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(22px, 4vw, 54px);
  margin-top: 46px;
}
.standard-cards > div {
  border-top: 1px solid #907ca6;
  padding-top: 18px;
}
.standard-cards b {
  color: #d8bb77;
  font:
    14px Georgia,
    serif;
}
.standard-cards h3 {
  font:
    400 clamp(25px, 2.7vw, 38px)/1.1 "Cormorant Garamond",
    Georgia,
    serif;
  margin: 18px 0;
}
.standard-cards p {
  font-size: 15px;
  line-height: 1.75;
  color: #eee7f2;
}
.standard-origin {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: clamp(35px, 6vw, 95px);
  align-items: center;
}
.standard-origin figure {
  margin: 0;
}
.standard-origin img {
  display: block;
  width: 100%;
  height: auto;
}
.standard-origin p {
  max-width: 520px;
}
.standard-guide .stone-final {
  border-top: 1px solid #d9cadc;
  padding-top: 60px;
}
@media (max-width: 700px) {
  .standard-feature {
    margin-bottom: 62px;
  }
  .standard-feature img {
    height: auto;
    aspect-ratio: 3/2;
  }
  .standard-selection {
    margin-bottom: 70px;
  }
  .standard-criteria {
    grid-template-columns: repeat(2, 1fr);
  }
  .standard-criteria span {
    padding: 17px;
  }
  .standard-commitment {
    margin-bottom: 70px;
  }
  .standard-cards {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .standard-origin {
    grid-template-columns: 1fr;
  }
}
.home-feature-image::after {
  content: "";
  position: absolute;
  top: clamp(13px, 2vw, 25px);
  left: clamp(13px, 2vw, 25px);
  width: clamp(27px, 3vw, 42px);
  height: clamp(34px, 3.7vw, 52px);
  background: url("../images/brand/variants/tl-monogram/purple-transparent.svg") center/contain no-repeat;
  opacity: 0.9;
  pointer-events: none;
  z-index: 2;
}
.home-feature-bespoke .home-feature-image::after {
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}
.home-feature-bespoke .button {
  background: #d8ba75;
  border-color: #d8ba75;
  color: #2e2140;
  font-weight: 600;
}
.home-feature-bespoke .button:hover,
.home-feature-bespoke .button:focus-visible {
  background: #f1d999;
  border-color: #f1d999;
  color: #2e2140;
}
/* Typography */
html:not([lang="ko"]) body {
  font-family: var(--font-body);
  font-size: 14px;
  line-height: 1.85;
}
html:not([lang="ko"]) h1,
html:not([lang="ko"]) :is(h1, h2),
html:not([lang="ko"]) h3 {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: -0.018em;
}
html:not([lang="ko"]) .button,
html:not([lang="ko"]) nav a,
html:not([lang="ko"]) .eyebrow,
html:not([lang="ko"]) label {
  font-family: var(--font-body);
  font-weight: 400;
}
html:not([lang="ko"]) .button {
  font-size: 11px;
  letter-spacing: 0.105em;
  line-height: 1.6;
}
html:not([lang="ko"]) .hero p,
html:not([lang="ko"]) .home-feature-copy p {
  font-size: clamp(14px, 1.16vw, 17px);
  line-height: 1.9;
}
html:not([lang="ko"]) .story p,
html:not([lang="ko"]) .stone-guide p {
  font-size: 15px;
  line-height: 1.9;
}
html[lang="ko"] body {
  font-weight: 400;
  letter-spacing: -0.016em;
  line-height: 1.85;
}
html[lang="ko"] h1,
html[lang="ko"] :is(h1, h2),
html[lang="ko"] h3 {
  font-weight: 400;
  letter-spacing: -0.042em;
}
html[lang="ko"] .wordmark {
  letter-spacing: 0.17em;
}
html[lang="ko"] .button {
  font-weight: 500;
  letter-spacing: -0.018em;
}
html[lang="ko"] .story p,
html[lang="ko"] .legal p,
html[lang="ko"] .stone-guide p {
  line-height: 2;
}
@media (max-width: 700px) {
  html:not([lang="ko"]) .hero p,
  html:not([lang="ko"]) .home-feature-copy p {
    font-size: 15px;
  }
  html[lang="ko"] .hero p {
    font-size: 16px;
    line-height: 1.9;
  }
}
/* Image mark sizing */
.standard-feature,
.standard-origin figure,
.wishlist-card > a,
.step-visual,
.ring-guide-visual {
  position: relative;
  display: block;
}
.standard-feature::after,
.standard-origin figure::after,
.wishlist-card > a::after,
.step-visual::after,
.ring-guide-visual::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 3;
  width: clamp(25px, 3vw, 40px);
  height: clamp(31px, 3.8vw, 50px);
  background: center/contain no-repeat;
  opacity: 0.9;
}
.standard-feature::after,
.standard-origin figure::after {
  left: clamp(12px, 2vw, 25px);
  top: clamp(12px, 2vw, 25px);
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
}
.wishlist-card > a::after {
  right: 10px;
  bottom: 12px;
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
  width: 27px;
  height: 34px;
}
.step-visual {
  margin: 0 0 20px;
  overflow: hidden;
}
.step-visual img {
  display: block;
  width: 100%;
  height: auto;
}
.step-visual::after {
  right: 12px;
  bottom: 12px;
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
  width: 30px;
  height: 37px;
}
.ring-guide-visual {
  margin: 1rem 0 1.2rem;
}
.ring-guide-visual .ring-diagram-photo {
  margin: 0;
}
.ring-guide-visual::after {
  right: 12px;
  bottom: 10px;
  background-image: url("../images/brand/variants/tl-monogram/purple-transparent.svg");
  width: 23px;
  height: 29px;
  opacity: 0.75;
}

@media (max-width: 700px) {
  .standard-feature::after,
  .standard-origin figure::after {
    width: 27px;
    height: 34px;
  }
}
.standard-selection-visual {
  position: relative;
  margin: 40px auto 0;
  max-width: 1050px;
  text-align: left;
}
.standard-selection-visual img {
  display: block;
  width: 100%;
  height: auto;
}
.standard-selection-visual figcaption {
  color: #706876;
  font-size: 12px;
  line-height: 1.5;
  margin-top: 10px;
}
.standard-selection-visual::after {
  content: "";
  position: absolute;
  left: clamp(12px, 2vw, 24px);
  top: clamp(12px, 2vw, 24px);
  width: clamp(25px, 3vw, 39px);
  height: clamp(31px, 3.8vw, 49px);
  background: url("../images/brand/variants/tl-monogram/purple-transparent.svg") center/contain no-repeat;
  pointer-events: none;
  opacity: 0.88;
}
.legal .legal-business {
  font:
    400 11px/1.7 "Noto Sans KR",
    Georgia,
    sans-serif;
  color: #736b77;
  letter-spacing: 0;
  margin: 4px 0 42px;
  max-width: 760px;
}
html:not([lang="ko"]) .legal .legal-business {
  font-family: Georgia, serif;
  font-size: 11px;
}
.legal .legal-date {
  margin-bottom: 0;
}
.wishlist-empty {
  text-align: center;
  background: #f5f0f6;
  border: 1px solid #ded1e3;
  padding: clamp(38px, 6vw, 76px) 22px;
  margin: auto;
  max-width: 820px;
}
.wishlist-empty p {
  font-size: clamp(16px, 2vw, 21px);
  margin: 0 0 24px;
  color: #453453;
}
.wishlist-empty .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 14px 26px;
  max-width: 100%;
}

/* Story layout */
.story-visual-essay {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, 0.75fr);
  max-width: 1440px;
  margin: 0 auto 90px;
  background: #eee8ef;
  align-items: center;
}
.story-selection-illustration {
  position: relative;
  margin: 0;
}
.story-selection-illustration img {
  display: block;
  width: 100%;
  aspect-ratio: 3/2;
  object-fit: cover;
}
.story-visual-copy {
  padding: clamp(30px, 5vw, 85px);
}
.story-visual-copy p {
  font:
    400 clamp(30px, 3vw, 52px)/1.13 "Cormorant Garamond",
    Georgia,
    serif;
  color: #38244d;
  margin: 18px 0 0;
}
html[lang="ko"] .story-visual-copy p {
  font-size: clamp(22px, 2.4vw, 35px);
  line-height: 1.55;
}
.story-selection-illustration::after,
.story-editorial-portraits figure::after {
  content: "";
  position: absolute;
  left: 18px;
  top: 18px;
  width: 36px;
  height: 45px;
  background: url("../images/brand/variants/tl-monogram/purple-transparent.svg") center/contain no-repeat;
  pointer-events: none;
}
.story-editorial-portraits {
  display: grid;
  grid-template-columns: 1.55fr 1fr;
  gap: 14px;
  max-width: 1440px;
  margin: 20px auto 100px;
  padding: 0 4%;
  align-items: stretch;
}
.story-editorial-portraits figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #30213d;
}
.story-editorial-portraits img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.story-editorial-wide {
  aspect-ratio: 1774/887;
}
.story-editorial-tall {
  aspect-ratio: 1/1;
}
.story-editorial-tall img {
  object-position: center 44%;
}
.story-editorial-portraits figure::after {
  background-image: url("../images/brand/variants/tl-monogram/gold-transparent.svg");
  filter: drop-shadow(0 1px 3px #1a1129);
}
.story-editorial-portraits p {
  grid-column: 1/-1;
  margin: 0;
  color: #766c76;
  font-size: 12px;
  letter-spacing: 0.04em;
}
@media (max-width: 800px) {
  .story-visual-essay {
    grid-template-columns: 1fr;
    margin-bottom: 65px;
  }
  .story-visual-copy {
    padding: 32px 7% 42px;
  }
  .story-editorial-portraits {
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 70px;
  }
  .story-editorial-wide {
    aspect-ratio: 1/1;
  }
  .story-editorial-tall {
    aspect-ratio: 1/1;
  }
  .story-editorial-portraits figure::after,
  .story-selection-illustration::after {
    left: 10px;
    top: 10px;
    width: 27px;
    height: 34px;
  }
}

.card-specs {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 13px;
  margin: 12px 7px 16px;
  color: #665a70;
  font-size: 12px;
  line-height: 1.5;
}
.card-specs span:first-child {
  color: #493558;
  font-weight: 600;
}
.card-specs span:not(:first-child) {
  border-left: 1px solid #c9b8ce;
  padding-left: 13px;
}
@media (max-width: 700px) {
  .card-specs {
    font-size: 12px;
    gap: 5px 10px;
  }
  .card-specs span:not(:first-child) {
    padding-left: 10px;
  }
}
.bespoke-invitation {
  margin: 28px 0 !important;
  padding: 25px 28px;
  border-left: 2px solid var(--gold);
  background: #f3edf5;
  color: #3d2c50;
  font-size: clamp(17px, 1.5vw, 21px);
  line-height: 1.75;
}
html[lang="ko"] .bespoke-invitation {
  line-height: 1.9;
}

/* Specification labels */
.card-specs {
  display: block;
  margin: 16px 7px;
  padding: 10px 13px;
  background: #f7f3f8;
  border-top: 1px solid #b69fbe;
  border-bottom: 1px solid #d8c9dc;
  color: #352b40;
  font-size: 13px;
  line-height: 1.5;
}
.card-spec-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 5px 0;
}
.card-spec-row + .card-spec-row {
  border-top: 1px solid #e3d9e5;
}
.card-spec-row span {
  color: #63556b;
}
.card-spec-row strong {
  font-weight: 600;
  color: #32263d;
  white-space: nowrap;
}
.card-specs .card-spec-pending {
  margin: 5px 0 0;
  font-size: 12px;
  color: #6b6170;
}
.catalog-details .spec-pending {
  margin: 0 0 18px;
  font-size: 13px;
  color: #665a70;
}


/* Centered navigation */
.top {
  position: relative;
  display: grid;
  grid-template-columns: minmax(162px, 1fr) auto minmax(162px, 1fr);
  gap: 20px;
  width: 100%;
  min-width: 0;
}
.identity {
  justify-self: start;
}
header nav {
  order: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  width: auto;
  padding: 0;
  gap: clamp(12px, 1.5vw, 24px);
}
header nav a {
  white-space: nowrap;
}
.header-tools {
  justify-self: end;
}
header .menu {
  display: none;
}
html[lang="ko"] header nav a {
  font-size: 17px;
}
@media (max-width: 1100px) {
  .top {
    display: flex;
    flex-wrap: nowrap;
  }
  header .menu {
    display: block;
    flex: none;
  }
  header nav {
    display: none;
    order: 4;
    padding: 12px 20px;
  }
  header nav.open {
    display: flex;
    position: absolute;
    top: 100%;
    right: 4%;
    z-index: 20;
    width: min(390px, 92vw);
    max-height: calc(100vh - 120px);
    overflow: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;
    background: var(--violet);
    border: 1px solid #8873a7;
    box-shadow: 0 15px 25px #21182b40;
  }
  header nav a {
    display: block;
    padding: 10px 9px;
    white-space: normal;
    line-height: 1.4;
  }
}
@media (max-width: 700px) {
  header nav.open {
    left: 0;
    right: 0;
    width: 100%;
  }
}

/* Inquiry forms */
.form-honeypot {
  display: none;
}
.cart-inquiry-form > * {
  min-width: 0;
}
.cart-inquiry-form .cart-item {
  grid-template-columns: 132px minmax(0, 1fr);
}
.cart-inquiry-form .cart-item h3 {
  font-size: clamp(24px, 2.4vw, 31px);
  line-height: 1.15;
  margin: 0 0 8px;
}
.cart-inquiry-form .cart-item p,
.cart-inquiry-form .cart-item h3 {
  overflow-wrap: anywhere;
}
.cart-checkout textarea {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 110px;
  margin-bottom: 16px;
  background: #fff;
}
.cart-checkout .inquiry-disclaimer {
  margin: 0 0 24px;
  line-height: 1.65;
}
.cart-checkout input,
.cart-checkout textarea {
  min-width: 0;
}
.cart-checkout button[type="submit"]:disabled,
.form-wrap button[type="submit"]:disabled {
  opacity: 0.65;
  cursor: wait;
}
.alternate-contact {
  max-width: 780px;
  margin: 28px auto 0;
  text-align: center;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
.alternate-contact a {
  color: #573663;
  text-underline-offset: 4px;
}
.success.error {
  border-color: #a44b56;
  background: #fff6f6;
  color: #7b2735;
}
@media (max-width: 800px) {
  .cart-inquiry-form {
    grid-template-columns: minmax(0, 1fr);
  }
  .cart-checkout {
    width: 100%;
  }
}
@media (max-width: 500px) {
  .cart-inquiry-form .cart-item {
    grid-template-columns: 95px minmax(0, 1fr);
  }
  .cart-inquiry-form .cart-item img {
    width: 95px;
  }
  .cart-checkout {
    padding: 22px 18px;
  }
}

/* Supplied full logo */
.identity {
  min-width: 0;
  flex-shrink: 0;
}
.brand-logo {
  display: block;
  height: auto;
  max-width: 100%;
}
.identity .brand-logo,
.footer-identity {
  width: 162px;
}
.footer-identity {
  display: block;
  max-width: 100%;
}
@media (max-width: 700px) {
  .top {
    gap: 12px;
  }
  .identity .brand-logo,
  .footer-identity {
    width: 126px;
  }
}
@media (max-width: 360px) {
  .identity .brand-logo,
  .footer-identity {
    width: 108px;
  }
}

/* Shared type families and header controls */
:root {
  --font-body: "Libre Baskerville", Georgia, "Noto Serif KR", serif;
  --font-display: "Cormorant Garamond", Georgia, "Noto Serif KR", serif;
}
.header-tools,
.header-actions {
  display: flex;
  align-items: center;
}
.header-tools {
  order: 2;
  gap: 8px;
  margin-left: auto;
  flex: none;
}
.header-actions {
  gap: 4px;
}
.header-tools .menu {
  margin-left: 5px;
}
.header-icon {
  display: inline-flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 36px;
  color: inherit;
  text-decoration: none;
}
.header-icon svg {
  width: 21px;
  height: 21px;
}
.header-icon:hover,
.header-icon[aria-current="page"] {
  color: var(--gold);
}
.header-icon:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}
.bag-count {
  position: absolute;
  top: -2px;
  right: -3px;
  min-width: 14px;
  font-size: 10px;
  line-height: 1.4;
  text-align: center;
  background: var(--violet);
  color: var(--gold);
}
.bag-count:empty {
  display: none;
}
@media (max-width: 700px) {
  .header-tools {
    gap: 2px;
  }
  .header-actions {
    gap: 0;
  }
  .header-icon {
    width: 30px;
  }
  .header-tools .lang {
    padding: 5px;
  }
}

html[lang="ko"] body,
html[lang="ko"] .button,
html[lang="ko"] nav a,
html[lang="ko"] .eyebrow,
html[lang="ko"] label {
  font-family: var(--font-body);
}
html[lang="ko"] h1,
html[lang="ko"] :is(h1, h2),
html[lang="ko"] h3 {
  font-family: var(--font-display);
}

/* Compact footer */
footer {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: normal;
  line-height: 1.7;
  border-top: 1px solid #8873a7;
  padding: 13.5px 4%;
}
.foot-inner {
  max-width: 1500px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.footer-identity {
  flex: none;
}
.footer-tools {
  min-width: 0;
  text-align: right;
}
footer .links {
  justify-content: flex-end;
  gap: 12px;
}
.footer-instagram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 36px;
  flex: none;
}
.footer-instagram svg {
  width: 21px;
  height: 21px;
}
.footer-instagram:hover {
  color: var(--gold);
}
.footer-instagram:focus-visible {
  outline: 1px solid currentColor;
  outline-offset: 2px;
}
footer .fine {
  font-family: var(--font-body);
  font-weight: 400;
  letter-spacing: normal;
  margin: 4px 0 0;
  padding: 0;
  border: 0;
  text-align: right;
}
@media (max-width: 700px) {
  footer { padding: 10.8px 5%; }
  .foot-inner { gap: 12px; }
  .footer-tools { margin-left: auto; }
  footer .links {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    line-height: 1.35;
  }
  footer .links > a:not(.footer-instagram) {
    min-width: 0;
    text-align: right;
    line-height: 1.35;
  }
  footer .footer-instagram { height: 26px; justify-content: flex-end; }
  footer .languages { justify-content: flex-end; }
  footer .languages .lang { padding: 5px; }
  footer .languages .lang:last-child { padding-right: 0; }
  footer .fine { font-size: 10px; line-height: 1.4; white-space: nowrap; }
}

/* Product hearts and compact collection pricing. */
.product-price-row { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.product-price-row .catalog-price { margin:12px 0; }
.wishlist-heart { display:inline-flex; align-items:center; justify-content:center; flex:none; width:44px; height:44px; padding:10px; border:0; background:transparent; color:var(--violet); cursor:pointer; }
.wishlist-heart svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.5; }
.wishlist-heart.is-saved svg { fill:currentColor; }
.wishlist-heart:hover { opacity:.75; }
.wishlist-heart:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.product-purchase-actions { display:flex; align-items:center; gap:16px; }
.product-specifications h3 { margin:0 0 12px; font-size:18px; }
.product-specifications .card-specs { margin-bottom:24px; }

/* Unruled detail sections and inline purchase controls. */
.product-detail-content .catalog-details,
.product-detail-content .jewelry-choices,
.product-detail-content .diamond-choice { border:0; }
.product-detail-content .product-specifications .card-specs { border-top:0; border-bottom:0; }
.product-purchase-actions { flex-direction:row; }
.product-purchase-actions .button { margin-top:0; }
.cart-feedback.visually-hidden { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@keyframes bag-added { 50% { transform:scale(.97); opacity:.8; } }
.product-purchase-actions .bag-added { animation:bag-added 280ms ease-out; }
@media (prefers-reduced-motion:reduce) { .product-purchase-actions .bag-added { animation:none; } }

.wishlist-heart { transition:transform 160ms ease, opacity 160ms ease; }
@media (hover:hover) { .wishlist-heart:hover { transform:scale(1.12); } }
@keyframes wish-clicked { 45% { transform:scale(1.18); } 75% { transform:scale(.97); } }
.wishlist-heart.wish-clicked { animation:wish-clicked 300ms ease-out; }
@media (prefers-reduced-motion:reduce) { .wishlist-heart { transition:none; } .wishlist-heart:hover { transform:none; } .wishlist-heart.wish-clicked { animation:none; } }

.product-purchase-actions { flex-wrap:wrap; }
.product-wishlist-action { display:flex; align-items:center; gap:2px; margin-left:auto; }
.product-wishlist-action > span { font-size:13px; color:var(--violet); }
@keyframes bag-icon-added { 35% { transform:translateY(-3px) scale(1.14); } 70% { transform:translateY(1px) scale(.97); } }
#header-actions .bag-icon-added { animation:bag-icon-added 420ms ease-out; }
@media (prefers-reduced-motion:reduce) { #header-actions .bag-icon-added { animation:none; } }

.product-detail.container { padding-top:48px; }
.product-wishlist-action > span { font-family:var(--font-display); font-size:28px; line-height:1.2; color:var(--violet); }
html[lang="ko"] .product-wishlist-action > span { font-size:22px; font-weight:600; }
.product-detail .share-actions { justify-content:center; }
.product-detail-content > .text-link { display:block; text-align:right; }
@media (max-width:600px) { .product-detail.container { padding-top:32px; } }

.cart-page .share-actions { justify-content:center; }
.cart-item .ring-sizing { margin:14px 0; }
.cart-item .ring-size-heading { align-items:center; }
.cart-item .ring-size-heading [data-size-guide] { min-width:32px; min-height:32px; padding:4px 10px; border:1px solid #b9a8c8; border-radius:50%; }
.cart-item .ring-sizing { display:grid; grid-template-columns:minmax(0,1fr) 32px; gap:8px; }
.cart-item .ring-size-heading { display:contents; }
.cart-item .ring-size-heading label { grid-column:1 / -1; grid-row:1; }
.cart-item [data-cart-ring-size] { grid-column:1; grid-row:2; width:100%; }
.cart-item [data-size-guide] { grid-column:2; grid-row:2; align-self:center; }
.cart-item .ring-size-note { grid-column:1 / -1; }

.cart-page.container { padding-top:48px; }
.cart-item .ring-sizing { grid-template-columns:minmax(0,200px) 32px; }
.cart-item [data-cart-ring-size], .cart-item [data-size-guide] { grid-row:1; }
@keyframes ring-guide-enter { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes ring-guide-exit { to { opacity:0; transform:translateY(5px) scale(.98); } }
@keyframes ring-backdrop-enter { from { background:#1d132300; } to { background:#1d1323a8; } }
@keyframes ring-backdrop-exit { to { background:#1d132300; } }
.ring-size-dialog[open] { animation:ring-guide-enter 160ms ease-out; }
.ring-size-dialog[open]::backdrop { animation:ring-backdrop-enter 160ms ease-out; }
.ring-size-dialog.is-closing { animation:ring-guide-exit 160ms ease-in forwards; }
.ring-size-dialog.is-closing::backdrop { animation:ring-backdrop-exit 160ms ease-in forwards; }
@media (max-width:600px) { .cart-page.container { padding-top:32px; } }
@media (prefers-reduced-motion:reduce) { .ring-size-dialog[open], .ring-size-dialog[open]::backdrop { animation:none; } }

.cart-item .ring-sizing { grid-template-columns:auto minmax(0,200px) 32px; align-items:center; }
.cart-item .ring-size-heading label { grid-column:1; grid-row:1; margin:0; font-size:12px; letter-spacing:0; text-transform:none; }
.cart-item [data-cart-ring-size] { grid-column:2; }
.cart-item [data-size-guide] { grid-column:3; }

.product-detail-content > .text-link {
  display:table;
  width:fit-content;
  margin-left:auto;
  position:relative;
  border-bottom:0;
  text-decoration:none;
}
.product-detail-content > .text-link::after {
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1px;
  background:var(--gold);
  transform-origin:left;
}
@keyframes discuss-underline { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.product-detail-content > .text-link:hover::after,
.product-detail-content > .text-link:focus-visible::after { animation:discuss-underline 280ms ease-out; }
@media (prefers-reduced-motion:reduce) { .product-detail-content > .text-link:hover::after, .product-detail-content > .text-link:focus-visible::after { animation:none; } }

.signature-card .product-price-row { margin-top:auto; }
.signature-card .signature-inquire { margin-top:0; }

.selection-summary { flex-direction:row; align-items:center; justify-content:space-between; gap:20px; }
.selection-summary-copy { display:flex; flex-direction:column; gap:7px; min-width:0; }
.selection-summary-image { width:90px; height:110px; object-fit:cover; flex:none; }
@media (max-width:600px) { .selection-summary { gap:12px; } .selection-summary-image { width:70px; height:86px; } }

.form-wrap.container { padding-top:48px; }
.alternate-contact .contact-instagram-link { display:inline-block; margin-left:6px; padding:2px 0; color:var(--violet); border-bottom:1px solid var(--gold); text-decoration:none; transition:color 160ms ease, border-color 160ms ease; }
.alternate-contact .contact-instagram-link:hover { color:#735b90; border-color:currentColor; }
.alternate-contact .contact-instagram-link:focus-visible { outline:2px solid var(--violet); outline-offset:4px; }
@media (max-width:600px) { .form-wrap.container { padding-top:32px; } }

/* Fill short pages while keeping the footer in normal document flow. */
body { min-height:100vh; min-height:100dvh; display:flex; flex-direction:column; }
body > header, body > footer { flex-shrink:0; }
body > main { flex:1 0 auto; }

.alternate-contact .contact-instagram-link { position:relative; border-bottom:0; }
.alternate-contact .contact-instagram-link::after { content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold); transform-origin:left; }
.alternate-contact .contact-instagram-link:hover::after,
.alternate-contact .contact-instagram-link:focus-visible::after { animation:discuss-underline 280ms ease-out; }
@media (prefers-reduced-motion:reduce) { .alternate-contact .contact-instagram-link:hover::after, .alternate-contact .contact-instagram-link:focus-visible::after { animation:none; } }

/* Collection artwork already includes its logo. */
.signature-main::after,
.product-image::before,
.product-detail-image::after,
.cart-item > a::after,
.wishlist-card > a::after { content:none; display:none; }


/* These homepage photographs already contain the brand logo. */
.hero-image::before,
.home-image-branded::after,
.home-image-branded::before {
  content: none;
}

/* Consistent collection label and spacing between homepage sections. */
html[lang] .signature-intro .collection-eyebrow {
  font-family: var(--font-body);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.home-feature {
  margin-top: clamp(32px, 4vw, 56px);
}

.signature-section > .catalog-fineprint {
  max-width: none;
}


/* Founder note: portrait beside the opening text, then below on phones. */
.brand-story .story-opening {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  max-width: 1400px;
  padding-top: 48px;
}
.story-opening-photo { margin: 0; }
.story-opening-photo img { display: block; width: 100%; height: auto; }
.story-opening-copy p:first-of-type { margin-top: 20px; }
@media (max-width: 700px) {
  .brand-story .story-opening { grid-template-columns: minmax(0, 1fr); padding-top: 32px; }
}

/* High Jewelry opening follows the founder-note layout. */
.high-jewelry-opening,
.high-jewelry-invitation {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
  max-width: 1400px;
  padding-top: 48px;
  padding-bottom: 48px;
}
.high-jewelry-invitation { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.high-jewelry-photo { margin: 0; }
.high-jewelry-photo img { display: block; width: 100%; height: auto; }
.high-jewelry-opening .eyebrow { display: block; margin-bottom: 22px; }
.high-jewelry-editorial { margin: 0 auto; padding-top: 48px; padding-bottom: 48px; }
.high-jewelry-process { padding-top: 48px; }
.high-jewelry-process-title { margin-top: 0; text-align: center; }
.high-jewelry-editorial .editorial-note { margin-top: 12px; }
@media (max-width: 700px) {
  .high-jewelry-opening,
  .high-jewelry-invitation { grid-template-columns: minmax(0, 1fr); padding-top: 32px; padding-bottom: 32px; }
  .high-jewelry-editorial { padding-top: 32px; padding-bottom: 32px; }
  .high-jewelry-process { padding-top: 32px; }
}

/* Story reflections and separate full-width editorial portrait. */
.story-reflections {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: start;
  max-width: 1400px;
  padding-bottom: 48px;
}
.story-reflections-photo { margin: 0; }
.story-reflections-photo img,
.story-full-portrait img { display: block; width: 100%; height: auto; }
.story-reflections-copy > p:first-child { margin-top: 0; }
.story-full-portrait { margin: 0 auto; max-width: 1400px; }
.story-full-portrait .editorial-note { margin-top: 12px; }
@media (max-width: 700px) {
  .story-reflections { grid-template-columns: minmax(0, 1fr); padding-bottom: 32px; }
}

/* One shared gap between the opening story sections. */
.brand-story { --story-section-gap: 85px; }
.brand-story .story-opening { padding-bottom: var(--story-section-gap); }
.brand-story .story-visual-essay { margin-bottom: var(--story-section-gap); }
.brand-story .story-reflections {
  padding-top: 0;
  padding-bottom: var(--story-section-gap);
}
.brand-story .story-full-portrait { padding-top: 0; }
@media (max-width: 700px) {
  .brand-story { --story-section-gap: 55px; }
}

/* Opening text left; Paraiba portrait left and cropped to its adjacent text. */
@media (min-width: 701px) {
  .brand-story .story-reflections {
    grid-template-columns: minmax(0, 0.75fr) minmax(0, 1.25fr);
    align-items: stretch;
  }
  .story-reflections-photo {
    grid-column: 1;
    grid-row: 1;
    position: relative;
    overflow: hidden;
    min-height: 0;
  }
  .story-reflections-photo img {
    position: absolute;
    inset: 0;
    height: 100%;
    object-fit: cover;
    object-position: center top;
  }
  .story-reflections-copy { grid-column: 2; grid-row: 1; }
  .story-reflections-copy > p:last-child { margin-bottom: 0; }
}

/* Align the legacy illustration with the other story sections. */
.brand-story .story-visual-essay {
  width: 88%;
  max-width: 1232px;
}
.brand-story .story-selection-illustration img { object-position: right center; }

/* Use the same container edges as the adjacent story text and portraits. */
.brand-story .story-legacy-container {
  max-width: 1400px;
  padding-top: 0;
  padding-bottom: var(--story-section-gap);
}
.brand-story .story-legacy-container .story-visual-essay {
  width: 100%;
  max-width: none;
  margin: 0;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  align-items: stretch;
}
.story-legacy-container .story-visual-copy { padding: clamp(24px, 3vw, 44px); }
.story-legacy-container .story-selection-illustration { overflow: hidden; }
.story-legacy-container .story-selection-illustration img {
  height: 100%;
  object-fit: cover;
  object-position: right center;
}
@media (max-width: 800px) {
  .brand-story .story-legacy-container .story-visual-essay { grid-template-columns: minmax(0, 1fr); }
  .story-legacy-container .story-selection-illustration img { height: auto; }
}

/* Preserve the original illustration height; crop its left edge only. */
.story-legacy-container .story-selection-illustration img {
  height: min(41.6667vw, 600px);
  aspect-ratio: auto;
  object-fit: cover;
  object-position: right center;
}
@media (max-width: 800px) {
  .story-legacy-container .story-selection-illustration img {
    height: min(66.6667vw, 960px);
  }
}

/* Shared back-to-top control and creative direction call to action. */
.back-to-top {
  position: fixed;
  right: max(20px, env(safe-area-inset-right));
  bottom: max(20px, env(safe-area-inset-bottom));
  z-index: 40;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 10px;
  border: 1px solid var(--violet);
  border-radius: 50%;
  background: #fffaf2;
  color: var(--violet);
  cursor: pointer;
  box-shadow: 0 2px 10px #251b3020;
  transition: transform 160ms ease, background-color 160ms ease;
}
.back-to-top[hidden] { display: none; }
.back-to-top svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.back-to-top:hover { transform: translateY(-2px); background: #eee7ef; }
.back-to-top:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.creative-direction-cta { justify-content: center; margin-top: 40px; }
@media (prefers-reduced-motion: reduce) { .back-to-top { transition: none; } }

@media (max-width: 700px) {
  .founders .lionel-name { font-size: clamp(20px, 6vw, 28px); }
}

/* Compact footnotes in both founder letters. */
html[lang] .story-closing .founder-note-sources p {
  margin: 0 0 8px;
  line-height: 1.4;
}
.story-closing .founder-note-sources small {
  display: block;
  line-height: inherit;
}

/* Separate the design introduction while keeping it beside the opening portrait. */
.high-jewelry-design-intro { margin-top: clamp(32px, 3vw, 44px); }
.high-jewelry-design-intro h3 { margin-top: 0; }

/* Our Standard follows the shared editorial page width and rhythm. */
.standard-guide { --standard-gap: 85px; max-width: 1400px; padding-top: 48px; }
.standard-opening { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); align-items: center; margin-bottom: var(--standard-gap); }
.standard-opening .eyebrow { display: block; margin-bottom: 22px; }
.standard-opening .standard-feature { margin: 0; }
.standard-opening .standard-feature img { aspect-ratio: auto; }
.standard-guide :is(h1, h2) { font-size: clamp(32px, 3.6vw, 50px); }
.standard-guide .standard-selection { max-width: none; text-align: left; margin-bottom: var(--standard-gap); }
.standard-guide .standard-selection p { max-width: none; margin: 0 0 20px; }
.standard-guide .standard-selection-visual { max-width: none; }
.standard-guide .standard-commitment { background: transparent; color: var(--ink); padding: 0; margin-bottom: var(--standard-gap); }
.standard-guide .standard-cards { margin-top: 28px; }
.standard-guide .standard-cards > div { border-color: #d9cadc; }
.standard-guide .standard-cards h3 { font-size: clamp(23px, 2.3vw, 32px); }
.standard-guide .standard-cards p { color: inherit; }
.standard-guide .stone-final { margin: var(--standard-gap) auto 0; padding-top: 0; border-top: 0; }
@media (max-width: 700px) {
  .standard-guide { --standard-gap: 55px; padding-top: 32px; }
  .standard-opening { grid-template-columns: minmax(0, 1fr); }
}

/* Enlarge the opening visual without changing its adjacent text column. */
@media (min-width: 701px) {
  .standard-opening .standard-feature img {
    width: 108%;
    max-width: none;
    margin-left: -4%;
  }
}

/* Separate the direct-contact option from the contact form. */
.form-wrap > .alternate-contact { margin-top: clamp(36px, 4vw, 52px); }
.languages a.lang { text-decoration: none; }
.languages a.lang.active { text-decoration: underline; }

/* Shared keyboard and reduced-motion behavior. */
.skip-link { position: fixed; z-index: 1000; top: 8px; left: 12px; padding: 10px 18px; background: var(--ivory); color: #503570; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
#app:focus { outline: none; }
.founder-note-sources a { text-decoration: underline; text-underline-offset: 3px; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid #503570; outline-offset: 4px; }
.menu, .wishlist-heart, .dialog-close { min-width: 44px; min-height: 44px; }
@media (max-width: 400px) { main :is(h1, h2, h3), main .button { overflow-wrap: anywhere; } }
@media (max-width: 700px) {
  html[lang="en"] :is(.story-opening-copy, .signature-intro, .high-jewelry-copy) > h1 { font-size: 38px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-delay: 0ms !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
}
