:root {
  --accent: #87494c;
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "Cabinet Grotesk", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  line-height: 1.65;
}
a {
  color: inherit;
  text-decoration: none;
}
img,
video {
  max-width: 100%;
}
button,
input,
select,
textarea {
  font: inherit;
}
.wrap {
  width: min(1240px, calc(100% - 64px));
  margin: auto;
}
.eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--muted);
}
.display {
  font:
    500 clamp(2.5rem, 5vw, 5rem)/1.02 "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: -0.04em;
  margin: 14px 0 0;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 14px 20px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  font-size: 0.7rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  transition: 0.2s ease;
  cursor: pointer;
}
.btn:hover {
  transform: translateY(-2px);
}
.btn.light {
  background: transparent;
  color: var(--ink);
}
.text-link,
.form-helper-link {
  display: inline-block;
  border-bottom: 1px solid var(--line);
  padding-bottom: 2px;
}
.service-bar {
  display: grid;
  grid-template-columns: 1fr 2fr 1fr;
  align-items: center;
  min-height: 36px;
  padding: 8px 22px;
  background: var(--dark);
  color: #f8f8f6;
  font-size: 0.7rem;
  letter-spacing: 0.025em;
}
.service-left {
  justify-self: start;
}
.service-centre {
  text-align: center;
}
.service-right {
  justify-self: end;
}
.nav {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(245, 245, 242, 0.93);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}
.navin {
  min-height: 76px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 28px;
}
.nav-group {
  display: flex;
  gap: 24px;
  align-items: center;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.nav-group:last-child {
  justify-content: flex-end;
}
.nav-title {
  font:
    600 1.35rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: 0.26em;
  text-indent: 0.26em;
}
.nav-swap {
  color: var(--accent) !important;
  font-weight: 600;
}
.hero {
  min-height: 720px;
  background: var(--paper);
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  border-bottom: 1px solid var(--line);
}
.hero-copy {
  display: flex;
  align-items: center;
  padding: 76px max(44px, 7vw);
}
.hero-copy h1 {
  font:
    500 clamp(3.6rem, 6.7vw, 7.2rem)/0.94 "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: -0.055em;
  margin: 22px 0 28px;
}
.hero-copy p {
  max-width: 520px;
  color: var(--muted);
  font-size: 1.08rem;
  margin: 0;
}
.hero-media {
  min-height: 720px;
  background: var(--stone);
}
.hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(44px, 7vw, 96px);
  align-items: center;
}
.formsec {
  padding: clamp(90px, 10vw, 140px) 0;
  background: var(--stone);
}
.commission-shell {
  max-width: 980px;
  margin: 0 auto;
}
.commission-intro {
  max-width: 760px;
  margin-bottom: 44px;
}
.commission-intro p {
  color: var(--muted);
  font-size: 1.02rem;
  max-width: 700px;
}
.form-trustline {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 16px 0;
  margin-bottom: 42px;
  color: var(--muted);
  font-size: 0.72rem;
}
.form-trustline span {
  position: relative;
  padding-right: 20px;
}
.form-trustline span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--muted);
}
.progress-wrap {
  margin-bottom: 44px;
}
.progress-bar {
  height: 2px;
  background: var(--line);
  overflow: hidden;
}
.progress-bar span {
  display: block;
  height: 100%;
  width: 11.11%;
  background: var(--ink);
  transition: width 0.3s;
}
.progress-meta {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  font-size: 0.67rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.form-step {
  display: none;
}
.form-step.active {
  display: block;
}
.step-copy {
  max-width: 760px;
  margin-bottom: 30px;
}
.step-copy h3 {
  font:
    500 clamp(2rem, 4vw, 3.55rem)/1.05 "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: -0.035em;
  margin: 12px 0 14px;
}
.step-copy p {
  color: var(--muted);
  max-width: 690px;
}
.choice-grid {
  display: grid;
  gap: 10px;
  margin: 14px 0 28px;
}
.choice-grid.two {
  grid-template-columns: repeat(2, 1fr);
}
.choice-grid.three {
  grid-template-columns: repeat(3, 1fr);
}
.choice-grid.four {
  grid-template-columns: repeat(4, 1fr);
}
.choice-grid.five {
  grid-template-columns: repeat(5, 1fr);
}
.choice-card {
  position: relative;
  display: block;
  cursor: pointer;
}
.choice-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.choice-card span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 76px;
  padding: 16px;
  border: 1px solid var(--line);
  background: var(--paper);
  text-align: center;
  transition: 0.2s;
}
.choice-card input:checked + span {
  background: var(--ink);
  color: var(--paper);
  border-color: var(--ink);
}
.choice-card:hover span {
  border-color: var(--ink);
}
.form-step h4 {
  font:
    600 0.73rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin: 24px 0 12px;
}
.conditional-block {
  display: none;
  border-top: 1px solid var(--line);
  margin-top: 26px;
  padding-top: 22px;
}
.conditional-block.show {
  display: block;
}
.field.compact {
  max-width: 360px;
  margin-top: 14px;
}
.hidden {
  display: none !important;
}
.field {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.field label {
  font-size: 0.68rem;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: var(--muted);
}
input,
select,
textarea {
  width: 100%;
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 14px 15px;
  color: var(--ink);
  outline: none;
  border-radius: 0;
}
textarea {
  min-height: 140px;
  resize: vertical;
}
input:focus,
select:focus,
textarea:focus {
  border-color: var(--ink);
}
.microcopy,
.upload-note,
.policy-note,
.form-helper-link {
  font-size: 0.78rem;
  color: var(--muted);
}
.form-helper-link {
  margin-top: 8px;
}
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
}
.review-summary {
  border-top: 1px solid var(--line);
  margin-top: 30px;
}
.review-row {
  display: grid;
  grid-template-columns: 0.28fr 0.57fr auto;
  gap: 24px;
  padding: 17px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.review-row strong {
  font-size: 0.7rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}
.review-row span {
  font-size: 0.93rem;
}
.review-edit {
  border: 0;
  background: transparent;
  border-bottom: 1px solid var(--line);
  padding: 0 0 2px;
  cursor: pointer;
  color: var(--muted);
}
.policy-note {
  margin-top: 24px;
  padding: 18px;
  background: var(--paper);
  border: 1px solid var(--line);
}
.form-actions {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 36px;
}
.form-error {
  margin-top: 14px;
  font-size: 0.82rem;
  color: #8a2f2f;
  min-height: 1.2em;
}
.privacy-notice-inline {
  font-size: 0.75rem;
  color: var(--muted);
  margin-top: 22px;
}
.privacy-notice-inline a {
  text-decoration: underline;
}
.commission-success {
  padding: 70px 0;
  text-align: center;
  max-width: 720px;
  margin: auto;
}
.commission-success h3 {
  font:
    500 clamp(2.2rem, 4vw, 4rem)/1.05 "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  margin: 14px 0 18px;
}
.commission-success p {
  color: var(--muted);
  font-size: 1.05rem;
}
.faq-bottom {
  padding: clamp(82px, 9vw, 125px) 0;
  background: var(--paper);
}
.faq-head {
  max-width: 760px;
}
.faq {
  margin-top: 38px;
  border-top: 1px solid var(--line);
}
.faq details {
  border-bottom: 1px solid var(--line);
  padding: 20px 0;
}
.faq summary {
  cursor: pointer;
  list-style: none;
  font:
    500 1rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
}
.faq summary::-webkit-details-marker {
  display: none;
}
.faq details p {
  color: var(--muted);
  max-width: 800px;
  margin: 12px 0 0;
}
footer {
  background: var(--dark);
  color: #f4f4f1;
  padding: 66px 0 30px;
}
@media (max-width: 1050px) {
  .choice-grid.five {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 900px) {
  .service-bar {
    grid-template-columns: 1fr auto;
  }
  .service-left {
    display: none;
  }
  .service-centre {
    text-align: left;
  }
  .navin {
    grid-template-columns: 1fr;
  }
  .nav-title {
    grid-row: 1;
    text-align: center;
  }
  .nav-group {
    justify-content: center !important;
    flex-wrap: wrap;
  }
  .nav-group:first-child {
    grid-row: 2;
  }
  .nav-group:last-child {
    grid-row: 3;
  }
  .hero,
  .split {
    grid-template-columns: 1fr;
  }
  .hero-media {
    order: -1;
    min-height: 520px;
  }
  .hero {
    min-height: 0;
  }
  .hero-copy {
    padding: 62px 34px;
  }
}
@media (max-width: 680px) {
  .wrap {
    width: min(100% - 30px, 1240px);
  }
  .service-centre {
    font-size: 0.64rem;
  }
  .service-right {
    font-size: 0.64rem;
  }
  .navin {
    gap: 13px;
    padding: 14px 0;
  }
  .nav-group {
    gap: 13px;
    font-size: 0.59rem;
  }
  .nav-title {
    font-size: 1.2rem;
  }
  .hero-media {
    min-height: 430px;
  }
  .hero-copy {
    padding: 52px 22px;
  }
  .hero-copy h1 {
    font-size: 3.6rem;
  }
  .choice-grid.two,
  .choice-grid.three,
  .choice-grid.four,
  .choice-grid.five {
    grid-template-columns: 1fr;
  }
  .contact-grid {
    grid-template-columns: 1fr;
  }
  .review-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
  .form-actions {
    flex-direction: column-reverse;
  }
  .form-actions .btn {
    width: 100%;
  }
}

.gem-title {
  display: inline-flex;
  gap: 0.01em;
}
.gem-title .g-ruby {
  color: #7c233a;
}
.gem-title .g-emerald {
  color: #0d5b49;
}
.gem-title .g-sapphire {
  color: #214f7a;
}
.gem-title .g-amethyst {
  color: #6e5276;
}
.gem-title .g-diamond {
  color: #6f7272;
}
.ring-guide-bottom {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 20px;
  align-items: center;
  margin-top: 26px;
  padding: 20px 22px;
  background: var(--paper);
  border: 1px solid var(--line);
}
.ring-guide-bottom img {
  width: 96px;
  height: 78px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.ring-guide-bottom .mini {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.ring-guide-bottom a {
  display: inline-block;
  font:
    500 1rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  border-bottom: 1px solid var(--accent);
  padding-bottom: 2px;
  color: var(--ink);
}

@media (max-width: 680px) {
  .ring-guide-bottom {
    grid-template-columns: 72px 1fr;
    padding: 16px;
  }
  .ring-guide-bottom img {
    width: 72px;
    height: 64px;
  }
}

.nav {
  border-bottom: 0;
  box-shadow: 0 1px 0 rgba(35, 36, 38, 0.05);
}
.hero {
  border-bottom: 0;
}

.form-trustline {
  border: 0;
  padding: 0;
  margin: 0 0 42px;
}
.conditional-block {
  border-top: 0;
  padding-top: 10px;
}
.policy-note {
  border: 0;
  padding: 18px 0;
  background: transparent;
}
.ring-guide-bottom {
  border: 0;
  background: transparent;
  padding: 12px 0 0;
  margin-top: 30px;
}
.faq {
  border-top: 0;
}
.faq details {
  border-bottom: 1px solid rgba(35, 36, 38, 0.1);
}

footer.footer-rich {
  background: var(--dark);
  color: #f4f4f1;
  padding: 72px 0 30px;
  text-align: center;
}
.footer-socials {
  display: flex;
  justify-content: center;
  gap: 38px;
  flex-wrap: wrap;
}
.footer-social {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  font-size: 0.76rem;
  color: rgba(255, 255, 255, 0.86);
}
.footer-social-icon {
  width: 26px;
  height: 26px;
  display: inline-flex;
}
.footer-social-icon svg {
  width: 100%;
  height: 100%;
}
.footer-nav {
  display: flex;
  justify-content: center;
  gap: 24px;
  flex-wrap: wrap;
  margin-top: 38px;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.68);
}
.footer-signature {
  padding: 48px 0 26px;
}
.footer-wordmark {
  font:
    600 1.15rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
}

.footer-legal {
  display: flex;
  justify-content: center;
  gap: 18px;
  flex-wrap: wrap;
  font-size: 0.68rem;
  color: rgba(255, 255, 255, 0.48);
}
@media (max-width: 680px) {
  .footer-social-icon {
    width: 28px;
    height: 28px;
  }
  .footer-nav {
    gap: 14px 18px;
  }
}

.hero-media {
  position: relative;
  background: #f8f8f6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(38px, 5vw, 82px);
  overflow: hidden;
}

.footer-social {
  flex-direction: column;
  gap: 9px;
  min-width: 170px;
}
.footer-social-icon {
  width: 30px;
  height: 30px;
}
.footer-contact-copy {
  display: flex;
  flex-direction: column;
  gap: 4px;
  align-items: center;
}
.footer-contact-copy > span {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}
.footer-contact-copy strong {
  font:
    400 0.82rem "Cabinet Grotesk",
    "Helvetica Neue",
    Arial,
    sans-serif;
  color: rgba(255, 255, 255, 0.9);
}
@media (max-width: 680px) {
  .hero-media {
    padding: 28px 20px 42px;
  }
}

.hero-media {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 30%) !important;
  gap: 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}

@media (max-width: 900px) {
  .hero-media {
    grid-template-columns: minmax(0, 1fr) 28% !important;
  }
}
@media (max-width: 680px) {
  .hero-media {
    grid-template-columns: 1fr !important;
  }
}

.hero-media {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 720px !important;
  padding: clamp(46px, 6vw, 88px) !important;
  background: #f8f8f6 !important;
  overflow: hidden !important;
}
.hero-single-ring {
  width: 92% !important;
  height: auto !important;
  max-height: 610px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
}
@media (max-width: 680px) {
  .hero-media {
    min-height: 410px !important;
    padding: 28px 20px !important;
  }
  .hero-single-ring {
    width: 96% !important;
    max-height: 360px !important;
  }
}

.hero-media,
.hero-single-ring {
  background: #f5f5f2 !important;
}

:root {
  --paper: #f5f5f2;
  --image: #f5f5f2;
}

body,
.hero,
.hero-copy,
.hero-media {
  background: #f5f5f2 !important;
}

.hero {
  background: #f5f5f2 !important;
}
.hero-copy,
.hero-media {
  background: #f5f5f2 !important;
  border: 0 !important;
}
.hero-single-ring {
  background: #f5f5f2 !important;
}

#commission {
  background: #e9eae6 !important;
}

section {
  border-top: 0 !important;
}
.hero,
#commission {
  box-shadow: none !important;
}

.footer,
.footer-rich {
  background: var(--dark) !important;
}

@media (max-width: 760px) {
  html {
    scroll-padding-top: 96px;
  }
  body {
    overflow-x: hidden;
  }
  body.menu-open {
    overflow: hidden;
  }
  .wrap {
    width: min(100% - 32px, 1240px);
  }

  .service-bar {
    grid-template-columns: 1fr auto !important;
    min-height: 32px;
    padding: 6px 14px;
    gap: 10px;
  }
  .service-left {
    display: none !important;
  }
  .service-centre {
    text-align: left !important;
    font-size: 0.61rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .service-right {
    font-size: 0.61rem;
    white-space: nowrap;
  }
  .desktop-service-copy {
    display: none;
  }
  .mobile-service-copy {
    display: inline;
  }

  .nav {
    top: 0;
  }
  .navin {
    min-height: 62px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 0 !important;
    padding: 0 !important;
    position: relative;
  }
  .nav-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    text-align: left !important;
    font-size: 1.15rem !important;
    letter-spacing: 0.23em !important;
    text-indent: 0 !important;
  }
  .mobile-menu-toggle {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    width: 44px;
    height: 44px;
    padding: 11px;
    border: 0;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    color: var(--ink);
  }
  .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background: currentColor;
    transition:
      transform 0.2s ease,
      opacity 0.2s ease;
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .nav-group {
    display: none !important;
    grid-column: 1/-1 !important;
    width: 100%;
    flex-direction: column;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.12em !important;
  }
  .nav.mobile-open .nav-group {
    display: flex !important;
  }
  .nav.mobile-open .nav-group:first-child {
    grid-row: 2 !important;
    padding-top: 8px !important;
  }
  .nav.mobile-open .nav-group:last-child {
    grid-row: 3 !important;
    padding-bottom: 16px !important;
  }
  .nav-group a {
    width: 100%;
    padding: 13px 0;
    border-bottom: 1px solid rgba(35, 36, 38, 0.08);
  }

  .hero {
    min-height: 0 !important;
    grid-template-columns: 1fr !important;
  }
  .hero-copy {
    padding: 54px 20px 26px !important;
    min-height: 0 !important;
  }
  .hero-copy h1 {
    font-size: clamp(3.05rem, 14vw, 4.35rem) !important;
    line-height: 0.94 !important;
    margin: 16px 0 20px !important;
    max-width: 9ch;
  }
  .hero-copy p {
    font-size: 0.98rem !important;
    line-height: 1.65 !important;
    max-width: 36rem;
  }
  .hero-media {
    min-height: 340px !important;
    height: 340px !important;
    padding: 10px 18px 34px !important;
  }
  .hero-single-ring {
    width: 100% !important;
    max-height: 300px !important;
  }

  .formsec,
  .faq-bottom {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .display {
    font-size: clamp(2.35rem, 11vw, 3.35rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
  }

  .split {
    grid-template-columns: 1fr !important;
    gap: 34px !important;
  }

  .formsec {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .commission-intro {
    margin-bottom: 28px !important;
  }
  .commission-intro p {
    font-size: 0.94rem !important;
    line-height: 1.72 !important;
  }
  .form-trustline {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    margin-bottom: 32px !important;
    font-size: 0.68rem !important;
  }
  .form-trustline span {
    padding-right: 0 !important;
  }
  .form-trustline span::after {
    display: none !important;
  }
  .progress-wrap {
    margin-bottom: 32px !important;
  }
  .step-copy {
    margin-bottom: 24px !important;
  }
  .step-copy h3 {
    font-size: clamp(2rem, 10vw, 2.8rem) !important;
  }
  .choice-grid,
  .choice-grid.two,
  .choice-grid.three,
  .choice-grid.four,
  .choice-grid.five {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .choice-card span {
    min-height: 64px !important;
    padding: 12px 10px !important;
    font-size: 0.88rem !important;
  }
  .contact-grid {
    grid-template-columns: 1fr !important;
  }
  input,
  select,
  textarea {
    min-height: 48px;
    padding: 13px 14px !important;
    font-size: 16px !important;
  }
  textarea {
    min-height: 130px !important;
  }
  .review-row {
    grid-template-columns: 1fr auto !important;
    gap: 5px 12px !important;
    align-items: start !important;
  }
  .review-row strong {
    grid-column: 1 !important;
  }
  .review-row span {
    grid-column: 1 !important;
  }
  .review-edit {
    grid-column: 2 !important;
    grid-row: 1/3 !important;
  }
  .form-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
    margin-top: 28px !important;
  }
  .form-actions .btn {
    width: 100%;
    min-height: 50px;
    padding: 12px 10px !important;
  }
  .ring-guide-bottom {
    margin-top: 22px !important;
  }

  .faq details {
    padding: 18px 0 !important;
  }
  .faq summary {
    font-size: 0.94rem !important;
    line-height: 1.45 !important;
    padding-right: 18px;
  }
  footer.footer-rich {
    padding: 58px 0 26px !important;
  }
  .footer-socials {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 18px !important;
    align-items: start !important;
  }
  .footer-social {
    min-width: 0 !important;
    font-size: 0.72rem !important;
  }
  .footer-social-icon {
    width: 29px !important;
    height: 29px !important;
  }
  .footer-contact-copy strong {
    font-size: 0.72rem !important;
    word-break: break-word;
  }
  .footer-nav {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 11px 16px !important;
    margin-top: 34px !important;
    text-align: center;
  }
  .footer-signature {
    padding: 40px 0 20px !important;
  }
}

@media (max-width: 390px) {
  .service-right {
    display: none;
  }
  .service-bar {
    grid-template-columns: 1fr !important;
  }
  .hero-copy {
    padding-top: 46px !important;
  }
  .choice-grid,
  .choice-grid.two,
  .choice-grid.three,
  .choice-grid.four,
  .choice-grid.five {
    grid-template-columns: 1fr !important;
  }
  .footer-socials {
    grid-template-columns: 1fr !important;
  }
}
:root {
  --bg: #f5f5f2;
  --paper: #fafaf8;
  --stone: #e9eae6;
  --gallery: #fafaf8;
  --ink: #232426;
  --muted: #6f7272;
  --line: #d9dad6;
  --dark: #1c1d1e;
  --section-space: clamp(68px, 6.5vw, 100px);
  --section-heading: clamp(1.9rem, 2.65vw, 2.75rem);
}

/* Navigation */
.mobile-menu-toggle,
.mobile-service-copy {
  display: none;
}

/* Hero */
.site-hero {
  min-height: 580px !important;
  grid-template-columns: 0.8fr 1.2fr !important;
  background: #fafaf8 !important;
  border: 0 !important;
}
.site-hero .hero-copy {
  padding: 54px max(42px, 6vw) !important;
  background: #fafaf8 !important;
}
.site-hero .hero-copy h1 {
  font-size: clamp(2.65rem, 3.8vw, 4rem) !important;
  line-height: 1.01 !important;
  letter-spacing: -0.027em !important;
  font-weight: 400 !important;
  margin: 18px 0 22px !important;
}
.site-hero .hero-copy p {
  font-size: 0.96rem !important;
  line-height: 1.7 !important;
  max-width: 340px !important;
  margin: 0 0 11px !important;
  color: var(--muted) !important;
}
.hero-proof {
  display: block;
  margin: 0 0 22px;
  max-width: 390px;
  font-size: 0.67rem;
  line-height: 1.55;
  letter-spacing: 0.025em;
  color: var(--muted);
}
.hero-link {
  display: inline-block;
  margin-top: 2px;
}
.site-hero .hero-media {
  min-height: 580px !important;
  background: #fafaf8 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.pear-hero img {
  width: 84% !important;
  height: 84% !important;
  object-fit: contain !important;
  object-position: center !important;
  background: #fafaf8 !important;
}

/* Shared homepage headings */
.site-stone h2,
.process h2,
.commissions h2,
.clients h2 {
  margin: 0;
  font-family: var(--dashna-type) !important;
  font-size: var(--section-heading) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.019em !important;
}

/* Finding the stone — portrait photography, not banner crop */
.site-stone {
  padding: var(--section-space) 0;
  background: #f5f5f2;
}
.stone-grid {
  display: grid;
  grid-template-columns: 0.82fr 1.18fr;
  gap: clamp(52px, 8vw, 112px);
  align-items: center;
}
.stone-copy {
  max-width: 365px;
}
.stone-copy p {
  margin: 17px 0 17px;
  font-size: 0.94rem;
  line-height: 1.7;
  color: var(--muted);
}
.stone-copy span {
  display: block;
  font-size: 0.66rem;
  line-height: 1.55;
  letter-spacing: 0.035em;
  color: var(--muted);
}
.stone-image {
  margin: 0;
  width: min(100%, 500px);
  justify-self: end;
  aspect-ratio: 4/5;
  max-height: 575px;
  overflow: hidden;
}
.stone-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  object-position: 55% 52%;
  filter: saturate(0.82) contrast(0.95) brightness(0.99);
}

/* Process / archival chapter */

.commissions {
  padding: var(--section-space) 0;
  background: #f5f5f2;
}
.section-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 28px;
  margin-bottom: 28px;
}
.commission-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
.commission-grid figure {
  aspect-ratio: 1/1;
  overflow: hidden;
}
.commission-grid figure:nth-child(1) {
  background: #f6f3ec;
}
.commission-grid figure:nth-child(2) {
  background: #eaece8;
}
.commission-grid figure:nth-child(3) {
  background: #f1f2ee;
}
.commission-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Client stories */

.trust {
  padding: 50px 0 48px;
  background: #fafaf8;
  border-top: 1px solid rgba(35, 36, 38, 0.07);
  border-bottom: 1px solid rgba(35, 36, 38, 0.07);
}
.trust-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
}
.trust p {
  margin: 0;
  max-width: 680px;
  font-size: 1rem;
  line-height: 1.55;
  letter-spacing: -0.008em;
}

/* Editorial enquiry */
.formsec {
  padding: 82px 0 88px !important;
  background: #ecede9 !important;
}
.commission-shell {
  max-width: 1180px !important;
  display: grid !important;
  grid-template-columns: minmax(250px, 0.36fr) minmax(0, 0.64fr) !important;
  column-gap: clamp(58px, 8vw, 108px) !important;
  align-items: start !important;
}
.enquiry-intro {
  grid-column: 1;
  grid-row: 1 / span 2;
  position: sticky;
  top: 126px;
}
.commission-intro {
  max-width: 390px !important;
  margin: 0 0 28px !important;
}
.enquiry-kicker {
  display: block;
  margin-bottom: 13px;
  font-size: 0.66rem;
  color: var(--muted);
  letter-spacing: 0.025em;
}
.commission-intro .display {
  font-size: clamp(2.1rem, 3vw, 3.05rem) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: -0.024em !important;
}
.commission-intro p {
  margin-top: 17px !important;
  font-size: 0.94rem !important;
  line-height: 1.72 !important;
  max-width: 320px !important;
}
.form-trustline {
  display: grid !important;
  gap: 9px !important;
  border-top: 1px solid rgba(35, 36, 38, 0.12) !important;
  border-bottom: 0 !important;
  padding: 17px 0 0 !important;
  margin: 0 !important;
  max-width: 350px;
  font-size: 0.67rem !important;
  color: var(--muted) !important;
}
.form-trustline span {
  padding: 0 !important;
}
.form-trustline span::after {
  display: none !important;
}
.progress-wrap,
#commissionForm,
.commission-success {
  grid-column: 2;
}
.progress-wrap {
  margin: 4px 0 32px !important;
}
.progress-bar {
  height: 1px !important;
  background: rgba(35, 36, 38, 0.15) !important;
}
.progress-bar span {
  background: var(--ink) !important;
}
.progress-meta {
  font-size: 0.67rem !important;
  margin-top: 10px !important;
}
.step-copy {
  max-width: 620px !important;
  margin-bottom: 24px !important;
}
.step-copy .eyebrow {
  font-size: 0.64rem !important;
}
.step-copy h3 {
  font-size: clamp(1.58rem, 2.25vw, 2.1rem) !important;
  line-height: 1.13 !important;
  letter-spacing: -0.018em !important;
  font-weight: 400 !important;
}
.step-copy p {
  font-size: 0.9rem !important;
  max-width: 520px !important;
}
.form-step h4 {
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  font-size: 0.78rem !important;
  margin-top: 26px !important;
}
.form-divider {
  height: 1px;
  background: rgba(35, 36, 38, 0.1);
  margin: 30px 0 24px;
}
.choice-card span {
  min-height: 60px !important;
  padding: 13px !important;
  background: transparent !important;
  border-color: rgba(35, 36, 38, 0.16) !important;
  font-size: 0.87rem !important;
}
.choice-card:hover span {
  border-color: rgba(35, 36, 38, 0.48) !important;
}
.choice-card input:checked + span {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border-color: var(--ink) !important;
}
.field input,
.field textarea {
  background: rgba(250, 250, 248, 0.52) !important;
  border-color: rgba(35, 36, 38, 0.15) !important;
}
.form-actions {
  margin-top: 27px !important;
}
.form-actions .btn {
  min-width: 120px !important;
}
#prevBtn {
  background: transparent !important;
  color: #232426 !important;
  border-color: rgba(35, 36, 38, 0.28) !important;
}
.privacy-notice-inline {
  font-size: 0.7rem !important;
  color: var(--muted) !important;
}
.ring-guide-bottom {
  background: transparent !important;
  border-top: 1px solid rgba(35, 36, 38, 0.12) !important;
  border-bottom: 0 !important;
}

/* FAQ + footer */
.faq-bottom {
  padding: 64px 0 74px !important;
}
.faq-head .eyebrow {
  display: none !important;
}
.faq-head .display {
  font-size: clamp(1.8rem, 2.55vw, 2.55rem) !important;
}
.footer-signature {
  min-height: 90px !important;
  padding: 28px 0 !important;
}

/* Mobile */
@media (max-width: 900px) {
  .commission-shell {
    grid-template-columns: 1fr !important;
  }
  .enquiry-intro {
    grid-column: 1 !important;
    grid-row: auto !important;
    position: static !important;
    margin-bottom: 40px;
  }
  .progress-wrap,
  #commissionForm,
  .commission-success {
    grid-column: 1 !important;
  }
  .stone-grid {
    grid-template-columns: 1fr !important;
  }
  .stone-image {
    justify-self: start;
  }
}

@media (max-width: 760px) {
  :root {
    --section-space: 64px;
  }
  html {
    scroll-padding-top: 96px;
  }
  body {
    overflow-x: hidden;
  }
  body.menu-open {
    overflow: hidden;
  }
  .wrap {
    width: min(100% - 32px, 1240px);
  }

  .service-bar {
    grid-template-columns: 1fr auto !important;
    min-height: 32px;
    padding: 6px 14px;
    gap: 10px;
  }
  .service-left {
    display: none !important;
  }
  .service-centre {
    text-align: left !important;
    font-size: 0.61rem;
    line-height: 1.25;
    white-space: nowrap;
  }
  .service-right {
    font-size: 0.61rem;
    white-space: nowrap;
  }
  .desktop-service-copy {
    display: none;
  }
  .mobile-service-copy {
    display: inline;
  }

  .navin {
    min-height: 62px !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 0 !important;
    padding: 0 !important;
    position: relative;
  }
  .nav-title {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }
  .mobile-menu-toggle {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    width: 44px;
    height: 44px;
    padding: 11px;
    border: 0;
    background: transparent;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    cursor: pointer;
    color: var(--ink);
  }
  .mobile-menu-toggle span {
    display: block;
    width: 100%;
    height: 1px;
    background: currentColor;
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(2) {
    opacity: 0;
  }
  .nav.mobile-open .mobile-menu-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }
  .nav-group {
    display: none !important;
    grid-column: 1/-1 !important;
    width: 100%;
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .nav.mobile-open .nav-group {
    display: flex !important;
  }
  .nav.mobile-open .nav-group:first-child {
    grid-row: 2 !important;
    padding-top: 8px !important;
  }
  .nav.mobile-open .nav-group:last-child {
    grid-row: 3 !important;
    padding-bottom: 16px !important;
  }
  .nav-group a {
    width: 100%;
    padding: 13px 0;
    border-bottom: 1px solid rgba(35, 36, 38, 0.08);
  }

  .site-hero {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }
  .site-hero .hero-media {
    order: -1;
    min-height: 365px !important;
    height: 365px !important;
    padding: 0 !important;
  }
  .pear-hero img {
    width: 90% !important;
    height: 90% !important;
    max-height: none !important;
  }
  .site-hero .hero-copy {
    padding: 42px 22px 50px !important;
  }
  .site-hero .hero-copy h1 {
    font-size: 2.45rem !important;
    max-width: none !important;
  }
  .hero-proof {
    font-size: 0.65rem;
  }

  .stone-grid {
    gap: 34px;
  }
  .stone-image {
    width: 100%;
    max-width: 440px;
    max-height: none;
  }
  .process-core {
    padding-top: 44px;
  }
  .process-note {
    max-width: 100%;
  }
  .process-media {
    aspect-ratio: 4/3;
  }
  .process-steps {
    grid-template-columns: 1fr 1fr;
  }

  .commission-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .commission-grid figure:last-child {
    grid-column: 1/-1;
    aspect-ratio: 16/10;
  }

  .trust {
    padding: 42px 0;
  }
  .trust-inner {
    display: block;
  }
  .trust .text-link {
    display: inline-block;
    margin-top: 14px;
  }

  .formsec {
    padding: 64px 0 70px !important;
  }
  .commission-intro .display {
    font-size: 2.35rem !important;
  }
  .choice-grid,
  .choice-grid.two,
  .choice-grid.three,
  .choice-grid.four,
  .choice-grid.five {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .contact-grid {
    grid-template-columns: 1fr !important;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  .review-row {
    grid-template-columns: 1fr auto !important;
    gap: 5px 12px !important;
  }
  .review-row strong,
  .review-row span {
    grid-column: 1 !important;
  }
  .review-edit {
    grid-column: 2 !important;
    grid-row: 1/3 !important;
  }
  .form-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  .form-actions .btn {
    width: 100% !important;
  }
}
@media (max-width: 390px) {
  .service-right {
    display: none;
  }
  .service-bar {
    grid-template-columns: 1fr !important;
  }
  .choice-grid,
  .choice-grid.two,
  .choice-grid.three,
  .choice-grid.four,
  .choice-grid.five {
    grid-template-columns: 1fr !important;
  }
}

/* Top functional hierarchy */
.navin {
  min-height: 80px !important;
}
.nav-group {
  gap: 27px !important;
}
.service-bar {
  min-height: 40px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}
.service-right a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 3px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.42);
}

/* Archival diamond panel — full original composition preserved */
.process {
  background: #232426;
  color: #f5f5f1;
}
.diamond-panel {
  width: 100%;
  background: #3d3e3f;
  padding: 26px 0;
  overflow: hidden;
}
.diamond-panel-inner {
  width: 100%;
  margin: 0 auto;
}
.diamond-panel img {
  width: 100%;
  height: auto;
  max-height: 440px;
  object-fit: contain;
  display: block;
}
.process-core {
  padding: 58px 0 var(--section-space) !important;
  background: #232426;
}
.process-heading {
  max-width: 610px;
  margin-bottom: 36px;
}
.process-heading h2 {
  margin: 0;
  font-family: var(--dashna-type) !important;
  font-size: var(--section-heading) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.019em !important;
}
.process-heading p {
  margin: 13px 0 0;
  max-width: 520px;
  font-size: 0.92rem;
  line-height: 1.65;
  color: rgba(245, 245, 241, 0.62);
}

/* Selected commissions — consistent framing without aggressive hover */
.commission-grid img {
  transition: none !important;
}
.commission-grid figure:hover img {
  transform: none !important;
}

/* Client stories: four visible together */
.clients {
  padding: 88px 0 82px !important;
}
.client-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px 20px;
}
.client-grid article {
  min-width: 0;
}
.client-grid .client-media {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--stone);
}
.client-grid .client-media img,
.client-grid .client-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.client-grid .client-copy {
  padding-top: 14px;
}
.client-grid .client-copy p {
  max-width: 48ch;
}

/* Slightly tighter lower-page rhythm */
.commissions {
  padding-bottom: 82px !important;
}
.trust {
  padding: 44px 0 !important;
}
.formsec {
  padding-top: 74px !important;
}

/* Footer — contact must be easy to see */
.footer-rich {
  padding: 70px 0 30px !important;
}
.footer-note {
  width: 100%;
  margin: 0 0 32px;
  font-size: 0.79rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.64);
}
.footer-socials {
  gap: 56px !important;
}
.footer-social {
  min-width: 230px !important;
  gap: 12px !important;
}
.footer-contact-copy {
  gap: 5px !important;
}
.footer-nav {
  margin-top: 42px !important;
  gap: 28px !important;
}
.footer-signature {
  padding: 42px 0 24px !important;
}

/* Form action hierarchy: Submit only appears on review step via JS */
#nextBtn,
#submitBtn {
  min-width: 138px !important;
}
#prevBtn {
  min-width: 104px !important;
}

/* Mobile */
@media (max-width: 760px) {
  .service-bar {
    min-height: 36px !important;
    padding: 7px 14px !important;
  }
  .navin {
    min-height: 66px !important;
  }
  .nav-group {
    gap: 0 !important;
  }

  .diamond-panel {
    padding: 18px 0;
  }
  .diamond-panel img {
    min-height: 210px;
    max-height: 300px;
    object-fit: contain;
  }
  .process-core {
    padding-top: 46px !important;
  }
  .process-heading {
    margin-bottom: 28px;
  }

  .client-grid {
    display: flex;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .client-grid::-webkit-scrollbar {
    display: none;
  }
  .client-grid article {
    flex: 0 0 86%;
    scroll-snap-align: start;
  }
  .client-grid .client-media {
    aspect-ratio: 4/5;
  }

  .footer-rich {
    padding-top: 58px !important;
  }
  .footer-note {
    margin-bottom: 26px;
    font-size: 0.76rem;
  }
  .footer-socials {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 24px 14px !important;
  }
  .footer-social {
    min-width: 0 !important;
  }
  .footer-contact-copy strong {
    white-space: normal;
    word-break: normal !important;
  }
}

@media (max-width: 430px) {
  .footer-socials {
    grid-template-columns: 1fr !important;
  }
  .footer-social {
    padding: 6px 0;
  }
}

/* Archival diamonds become one complete textured chapter */
.diamond-panel {
  background: #3d3e3f !important;
  padding: 34px 0 54px !important;
}
.diamond-panel-inner {
  margin: 0 auto !important;
}
.diamond-panel img {
  width: 100% !important;
  max-height: 500px !important;
}

/* Heading now lives inside the same grey field beneath the image */
.diamond-panel .process-heading {
  width: min(1240px, calc(100% - 48px));
  margin: 34px auto 0 !important;
  padding: 0 !important;
}
.diamond-panel .process-heading h2 {
  color: #f5f5f1 !important;
}
.diamond-panel .process-heading p {
  color: rgba(245, 245, 241, 0.68) !important;
}

/* Craft area starts only after the grey archival chapter ends */
.process-core {
  padding-top: 54px !important;
  background: #232426 !important;
}
.process-core > .wrap > .process-heading {
  display: none !important;
}

@media (max-width: 760px) {
  .diamond-panel {
    padding: 22px 0 40px !important;
  }
  .diamond-panel img {
    max-height: 340px !important;
    min-height: 240px !important;
  }
  .diamond-panel .process-heading {
    width: min(100% - 32px, 1240px) !important;
    margin-top: 26px !important;
  }
}

/* Textured archival field: begins with the diamonds and ends with the workshop image. */
.process-texture {
  background-color: #3f4041;
  background-image: url("/assets/site/archive-texture.jpg");
  background-repeat: repeat;
  background-size: 420px 420px;
}
.process-texture .diamond-panel,
.process-texture .process-core {
  background: transparent !important;
}
.diamond-panel {
  padding: 36px 0 50px !important;
}
.diamond-panel-inner {
  overflow: hidden;
}
.diamond-panel img {
  max-height: 535px !important;
}
.process-core {
  padding: 0 0 58px !important;
}
.process-note {
  max-width: 320px;
  padding-bottom: 6px;
}
.process-note > span {
  display: block;
  margin-bottom: 13px;
  font-size: 0.67rem;
  color: rgba(245, 245, 241, 0.66);
}
.process-note p {
  margin: 0 0 18px;
  font-size: 0.94rem;
  line-height: 1.7;
  color: rgba(245, 245, 241, 0.78);
}
.process-note .text-link {
  color: #f5f5f1;
}
.process-media {
  margin: 0;
  width: 100%;
  aspect-ratio: 3/2;
  overflow: hidden;
}
.process-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.process-steps-shell {
  background: #232426;
  color: #f5f5f1;
  padding: 0 0 58px;
}
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(245, 245, 241, 0.14);
  border-bottom: 1px solid rgba(245, 245, 241, 0.14);
}
.process-steps > div {
  min-height: 112px;
  padding: 25px 22px 23px 0;
  border-right: 1px solid rgba(245, 245, 241, 0.1);
}
.process-steps > div:not(:first-child) {
  padding-left: 22px;
}
.process-steps > div:last-child {
  border-right: 0;
}
.process-steps span {
  display: block;
  margin-bottom: 28px;
  font-size: 0.62rem;
  color: rgba(245, 245, 241, 0.46);
}
.process-steps strong {
  font-size: 0.83rem;
  font-weight: 400;
  letter-spacing: 0.005em;
}

/* Selected commissions: one shared background tone, including image assets. */
.commission-grid figure,
.commission-grid figure:nth-child(1),
.commission-grid figure:nth-child(2),
.commission-grid figure:nth-child(3) {
  background: #f2f2ee !important;
}

/* Client Stories are now compact editorial thumbnails linking to the full story page. */
.client-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
.client-card {
  display: block;
  min-width: 0;
  color: inherit;
}
.client-card .client-media {
  aspect-ratio: 4/5 !important;
  background: #f1f1ed;
}
.client-card .client-media img {
  transition: opacity 0.25s ease;
}
.client-card:hover .client-media img {
  opacity: 0.92;
}
.client-card .client-copy {
  padding-top: 13px !important;
}
.client-card .client-copy span {
  display: block;
  margin-bottom: 5px;
  font-size: 0.61rem;
  color: var(--muted);
  letter-spacing: 0.035em;
}
.client-card .client-copy h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 400;
}
.client-card .client-copy em {
  display: inline-block;
  font-style: normal;
  font-size: 0.69rem;
  color: var(--muted);
}
.stories-all {
  white-space: nowrap;
}

/* Full Client Stories page */
.story-hero {
  padding: 88px 0 76px;
  background: #fafaf8;
  border-bottom: 1px solid rgba(35, 36, 38, 0.07);
}
.story-hero .eyebrow {
  display: block;
  margin-bottom: 16px;
  color: var(--muted);
}
.story-hero h1 {
  margin: 0;
  font-family: var(--dashna-type);
  font-size: clamp(2.8rem, 5vw, 5rem);
  font-weight: 400;
  letter-spacing: -0.035em;
  line-height: 0.98;
}
.story-hero p {
  margin: 20px 0 22px;
  max-width: 560px;
  color: var(--muted);
  font-size: 0.95rem;
  line-height: 1.7;
}
.story {
  padding: 96px 0;
  background: #f5f5f2;
  scroll-margin-top: 110px;
}
.story-alt {
  background: #fafaf8;
}
.story-grid {
  display: grid;
  grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(52px, 8vw, 112px);
  align-items: center;
}
.story-copy {
  max-width: 350px;
}
.story-copy > span,
.story-heading span {
  display: block;
  margin-bottom: 10px;
  font-size: 0.65rem;
  color: var(--muted);
  letter-spacing: 0.035em;
}
.story-copy h2,
.story-heading h2 {
  margin: 0 0 18px;
  font-family: var(--dashna-type);
  font-size: clamp(2.15rem, 3.5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.025em;
}
.story-copy p,
.story-heading p {
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.75;
}
.story-primary {
  margin: 0;
  overflow: hidden;
  background: #efefea;
  aspect-ratio: 4/3;
}
.story-primary img,
.story-primary video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.story-video {
  background: #1f2021;
}
.story-heading {
  display: grid;
  grid-template-columns: 0.7fr 1.3fr;
  gap: 48px;
  align-items: end;
  margin-bottom: 28px;
}
.story-heading p {
  max-width: 620px;
  margin: 0;
}
.story-gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}
.story-gallery figure {
  margin: 0;
  aspect-ratio: 4/3;
  overflow: hidden;
  background: #efefea;
}
.story-gallery img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.story-cta {
  margin-top: 24px;
  text-align: right;
}

@media (max-width: 900px) {
  .client-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .story-grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .story-copy {
    max-width: 520px;
  }
  .story-heading {
    grid-template-columns: 1fr;
    gap: 6px;
    align-items: start;
  }
}
@media (max-width: 760px) {
  .diamond-panel img {
    width: 108% !important;
    margin-left: -4% !important;
    max-height: 365px !important;
    min-height: 240px !important;
  }
  .process-core {
    padding: 0 0 38px !important;
  }
  .process-note {
    max-width: 100%;
    padding-bottom: 0;
  }
  .process-media {
    aspect-ratio: 4/3 !important;
  }
  .process-steps-shell {
    padding-bottom: 42px;
  }
  .process-steps {
    grid-template-columns: 1fr 1fr !important;
  }
  .process-steps > div {
    min-height: 102px;
    padding: 20px 14px 18px 0;
  }
  .process-steps > div:not(:first-child) {
    padding-left: 14px;
  }
  .process-steps > div:nth-child(2) {
    border-right: 0;
  }
  .process-steps > div:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(245, 245, 241, 0.1);
  }

  .client-grid {
    display: flex !important;
    gap: 14px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  .client-grid::-webkit-scrollbar {
    display: none;
  }
  .client-card {
    flex: 0 0 76%;
    scroll-snap-align: start;
  }
  .stories-all {
    font-size: 0.72rem;
  }

  .story-hero {
    padding: 64px 0 58px;
  }
  .story {
    padding: 68px 0;
    scroll-margin-top: 92px;
  }
  .story-grid {
    gap: 26px;
  }
  .story-primary {
    aspect-ratio: 4/5;
  }
  .story-gallery {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .story-gallery figure {
    aspect-ratio: 4/3;
  }
  .story-cta {
    text-align: left;
  }
}
@media (max-width: 430px) {
  .section-head {
    align-items: flex-start;
  }
  .stories-all {
    margin-top: 5px;
  }
  .client-card {
    flex-basis: 84%;
  }
}

/* One continuous textured field. The diamond artwork has a transparent
   background, so there is no rectangular image edge to reveal. */
.process-texture {
  background-color: #343434 !important;
  background-image: url("/assets/site/archive-texture.jpg") !important;
  background-repeat: repeat !important;
  background-size: 420px 420px !important;
  color: #f5f5f1;
}
.diamond-panel {
  background: transparent !important;
  padding: 24px 0 8px !important;
  overflow: hidden !important;
}
.diamond-panel-inner {
  width: 100% !important;
  overflow: hidden !important;
}
.diamond-panel img {
  width: 112% !important;
  max-width: none !important;
  max-height: 490px !important;
  min-height: 0 !important;
  margin-left: -6% !important;
  object-fit: contain !important;
  display: block !important;
}

/* The heading and workshop image share one clean vertical axis. */
.process-core {
  padding: 0 !important;
  background: transparent !important;
}
.process-layout {
  display: grid !important;
  grid-template-columns: minmax(220px, 0.58fr) minmax(0, 1.42fr) !important;
  column-gap: clamp(48px, 6vw, 88px) !important;
  row-gap: 24px !important;
  align-items: start !important;
}
.process-core > .wrap > .process-heading {
  display: block !important;
}
.process-layout .process-heading {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
}
.process-layout .process-heading h2 {
  color: #f5f5f1 !important;
  margin: 0 !important;
}
.process-layout .process-heading p {
  width: 100% !important;
  max-width: 650px !important;
  margin: 11px 0 0 !important;
  color: rgba(245, 245, 241, 0.76) !important;
  line-height: 1.62 !important;
}
.process-layout .process-note {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: end !important;
  max-width: 300px !important;
  padding: 0 0 18px !important;
}
.process-layout .process-media {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  width: 100% !important;
  aspect-ratio: 16/10 !important;
  overflow: hidden !important;
}
.process-layout .process-media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 50% !important;
  display: block !important;
}

/* Texture ends with the workshop image; steps sit on solid charcoal. */
.process-steps-shell {
  padding: 48px 0 58px !important;
  background: #232426 !important;
}

/* Navigation: one primary action at a time. Submit is inserted by JS only on Step 6. */
.form-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
#nextBtn {
  margin-left: auto !important;
}
#submitSlot {
  display: contents;
}
#submitSlot .btn {
  margin-left: auto !important;
}

@media (max-width: 760px) {
  .diamond-panel {
    padding: 18px 0 4px !important;
  }
  .diamond-panel img {
    width: 126% !important;
    margin-left: -13% !important;
    max-height: 330px !important;
    min-height: 220px !important;
  }
  .process-layout {
    grid-template-columns: 1fr !important;
    row-gap: 24px !important;
  }
  .process-layout .process-heading,
  .process-layout .process-note,
  .process-layout .process-media {
    grid-column: 1 !important;
  }
  .process-layout .process-heading {
    grid-row: 1 !important;
  }
  .process-layout .process-note {
    grid-row: 2 !important;
    max-width: 100% !important;
    align-self: start !important;
    padding: 0 !important;
  }
  .process-layout .process-media {
    grid-row: 3 !important;
    aspect-ratio: 4/3 !important;
  }
}

/* Enquiry routes and commission presentation */
.enquiry-options {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 0 0 32px;
  grid-column: 2;
  grid-row: 1;
}
#quickEnquiry {
  grid-column: 2;
  grid-row: 2;
  max-width: 760px;
  width: 100%;
  margin-inline: auto;
}
#quickEnquiry > .field {
  margin-block: 24px;
}
#quickEnquiry .step-copy h3 {
  font-size: clamp(1.8rem, 3vw, 2.7rem);
}
#quickEnquiry .microcopy {
  margin: 24px 0;
  line-height: 1.6;
}
#enquiryReference {
  display: block;
  margin-top: 20px;
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}
.form-step h3,
#quickEnquiry h3 {
  scroll-margin-top: 110px;
}
.choice-card input:focus-visible + span {
  outline: 2px solid var(--ink);
  outline-offset: 4px;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}
button:disabled {
  cursor: wait;
  filter: grayscale(1);
}
button[hidden] {
  display: none !important;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 12px 18px;
  background: var(--paper);
  color: var(--ink);
  transform: translateY(-150%);
}
.skip-link:focus {
  transform: translateY(0);
}
.commission-grid figure {
  margin: 0;
  overflow: visible;
  aspect-ratio: auto !important;
  background: transparent !important;
}
.commission-grid figure img {
  aspect-ratio: 4/5;
  height: auto;
  object-fit: cover;
}
.commission-grid figcaption {
  padding-top: 14px;
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--ink);
}
.swap-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(28px, 5vw, 72px);
  align-items: center;
  margin-top: 72px;
  padding-top: 48px;
  border-top: 1px solid var(--line);
}
.swap-preview > img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
}
.swap-preview h2 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 14px 0;
}
.swap-preview p {
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 24px;
}
@media (max-width: 760px) {
  .swap-preview {
    grid-template-columns: 1fr;
    margin-top: 42px;
    padding-top: 32px;
  }
  .enquiry-options {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
  }
  .enquiry-options .btn {
    width: 100%;
  }
  .commission-grid figcaption {
    font-size: 0.85rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
  }
}

.enquiry-intro {
  grid-row: 1 / span 3;
}
.progress-wrap {
  grid-row: 2;
}
#commissionForm {
  grid-row: 3;
}
@media (max-width: 900px) {
  .enquiry-options,
  #quickEnquiry,
  .progress-wrap,
  #commissionForm,
  .commission-success {
    grid-column: 1;
    grid-row: auto;
  }
  .enquiry-intro {
    grid-column: 1;
    grid-row: auto;
  }
}

@font-face {
  font-family: "Dashna Cabinet";
  src: url("/assets/fonts/CabinetGrotesk-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
:root {
  --dashna-type: "Dashna Cabinet", "Helvetica Neue", Arial, sans-serif;
}
html,
body,
button,
input,
select,
textarea {
  font-family: var(--dashna-type) !important;
}
body {
  font-weight: 400 !important;
  letter-spacing: -0.002em;
}

/* fixed custom wordmark */
.nav-title {
  display: block !important;
  width: 132px !important;
  line-height: 0 !important;
  justify-self: center;
  text-indent: 0 !important;
  letter-spacing: 0 !important;
  transform: none !important;
}
.nav-title img {
  display: block;
  width: 100%;
  height: auto;
}
.footer-wordmark {
  width: 158px;
  line-height: 0;
  margin: auto;
}
.footer-wordmark img {
  display: block;
  width: 100%;
  height: auto;
}

/* calm navigation */
.nav-group {
  font-size: 0.76rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.012em !important;
  text-transform: none !important;
}
.service-bar {
  font-size: 0.66rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.018em !important;
}

/* headings: regular weight, modest scale */
.display,
.hero-copy h1,
.page-hero h1,
.about-intro h2,
.chapter-copy h3,
.chapter-copy blockquote,
.about-closing strong,
.cta-band h2,
.swap-feature-copy h2,
.guide-copy h2,
.legal-main h1,
.step-copy h3,
.commission-success h3 {
  font-family: var(--dashna-type) !important;
  font-weight: 400 !important;
}
.display,
.page-hero h1,
.legal-main h1 {
  letter-spacing: -0.026em !important;
  line-height: 1.03 !important;
}
.page-hero .display {
  font-size: clamp(2.25rem, 3.6vw, 3.55rem) !important;
}
.chapter-copy h3,
.process-item h3,
.swap-category h3,
.guide-copy h2,
.legal-main h2 {
  font-family: var(--dashna-type) !important;
  font-weight: 400 !important;
  letter-spacing: -0.01em !important;
}

/* text + utility */
p,
li,
details,
summary {
  font-family: var(--dashna-type) !important;
}
.page-hero p,
.about-intro p,
.chapter-copy p,
.process-item p,
.swap-category p,
.swap-step p,
.guide-copy p,
.legal-main p,
.legal-main li,
.faq details p {
  font-weight: 400 !important;
  line-height: 1.72 !important;
  letter-spacing: -0.002em !important;
}
.eyebrow,
.chapter-year,
.process-num,
.progress-meta,
.field label,
.microcopy,
.upload-note,
.policy-note,
.form-trustline,
.footer-nav,
.footer-legal,
.footer-contact-copy {
  font-family: var(--dashna-type) !important;
  font-weight: 400 !important;
}
.eyebrow {
  text-transform: none !important;
  letter-spacing: 0.04em !important;
}

/* editorial links */
.text-link,
.form-helper-link,
.ring-guide-bottom a,
.review-edit {
  font-family: var(--dashna-type) !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
}

/* buttons — visible, clean, not shouty */
.btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  min-height: 48px !important;
  padding: 13px 20px !important;
  border: 1px solid #232426 !important;
  border-radius: 0 !important;
  background: #232426 !important;
  color: #fafaf8 !important;
  font-family: var(--dashna-type) !important;
  font-size: 0.86rem !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  opacity: 1 !important;
  box-shadow: none !important;
}
.btn:hover {
  transform: none !important;
  background: #393a3c !important;
  border-color: #393a3c !important;
}
.btn.light {
  background: transparent !important;
  color: #232426 !important;
  border-color: rgba(35, 36, 38, 0.38) !important;
}
.btn.light:hover {
  border-color: #232426 !important;
  background: rgba(35, 36, 38, 0.035) !important;
}

.form-step h4,
.faq summary,
.guide-callout strong,
.review-row strong,
.swap-step strong {
  font-family: var(--dashna-type) !important;
  font-weight: 500 !important;
}
@media (max-width: 760px) {
  .nav-title {
    width: 114px !important;
  }
  .footer-wordmark {
    width: 142px;
  }
  .btn {
    min-height: 49px !important;
    font-size: 0.87rem !important;
  }
}
.nav-group {
  font-size: 0.86rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.008em !important;
}
.service-bar {
  font-size: 0.74rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.012em !important;
}
.service-bar a {
  font-weight: 500 !important;
}

.btn {
  min-height: 50px !important;
  padding: 14px 23px !important;
  font-size: 0.91rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
.text-link,
.form-helper-link,
.ring-guide-bottom a,
.review-edit {
  font-size: 0.9rem !important;
  font-weight: 500 !important;
}

.footer-social-icon {
  width: 34px !important;
  height: 34px !important;
}
.footer-contact-copy > span {
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
  font-weight: 500 !important;
}
.footer-contact-copy strong {
  font-family: var(--dashna-type) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
.footer-nav {
  font-size: 0.8rem !important;
  font-weight: 500 !important;
}
.footer-legal {
  font-size: 0.72rem !important;
}
.page-hero .display {
  font-size: clamp(2.2rem, 3.5vw, 3.45rem) !important;
}
.cta-band .display {
  font-size: clamp(1.9rem, 2.8vw, 2.7rem) !important;
}
.section .display,
.about-intro .display {
  font-size: clamp(1.8rem, 2.8vw, 2.7rem) !important;
}

@media (max-width: 760px) {
  .nav-group {
    font-size: 0.89rem !important;
  }
  .service-bar {
    font-size: 0.68rem !important;
  }
  .btn {
    min-height: 50px !important;
    font-size: 0.92rem !important;
  }
  .footer-social-icon {
    width: 35px !important;
    height: 35px !important;
  }
  .footer-contact-copy strong {
    font-size: 0.92rem !important;
  }
  .footer-nav {
    font-size: 0.79rem !important;
  }
}

/* Keyboard navigation across every page. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

/* The homepage story. Shared navigation and enquiry behaviour live in home.css. */
.home-opening,.home-chapter,.home-finished { --story-space:clamp(60px,7vw,104px); }
.home-opening { display:grid;grid-template-columns: .85fr 1.15fr;align-items:center;min-height:560px;padding-block:32px 60px;gap:30px; }
.home-opening figure,.home-chapter figure,.home-pieces figure,.home-swap figure { margin:0;min-width:0; }
.home-opening img { display:block;width:100%;height:auto;max-height:540px;object-fit:contain; }
.home-opening h1 { font-size:clamp(2.8rem,4.5vw,4.8rem);font-weight:400;line-height:1.04;letter-spacing:-.04em;margin:0 0 22px;max-width:430px; }
.home-opening p { color:var(--muted);margin:0 0 30px;font-size:1.05rem; }
.home-chapter { display:grid;grid-template-columns:1.1fr .9fr;align-items:center;gap:clamp(36px,7vw,100px);padding-block:var(--story-space); }
.home-chapter img { display:block;width:100%;height:auto; }
.home-chapter-copy { max-width:380px; }
.home-chapter h2,.home-finished h2 { font-size:clamp(2rem,3vw,3rem);font-weight:400;line-height:1.12;letter-spacing:-.025em;margin:0 0 22px;text-wrap:balance; }
.home-chapter p,.home-finished-heading p { font-size:1.05rem;line-height:1.75;color:var(--muted);margin:0; }
.home-art img { max-height:550px;object-fit:contain; }
.home-chapter figcaption,.home-swap figcaption { font-size:.73rem;color:var(--muted);margin-top:12px; }
.home-stone-band { background:#e9eae6; }
.home-reverse { grid-template-columns:.9fr 1.1fr; }
.home-reverse figure { grid-column:2;grid-row:1; }
.home-reverse .home-chapter-copy { grid-column:1;grid-row:1; }
.home-quiet-links { display:flex;flex-wrap:wrap;gap:16px 26px;margin-top:28px; }
.home-finished { padding-block:30px var(--story-space); }
.home-finished-heading { text-align:center;margin:0 auto 44px; }
.home-finished-heading h2 { margin-bottom:15px; }
.home-pieces { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px; }
.home-pieces img { display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:#f4f4f0; }
.home-pieces figcaption { margin-top:14px;font-size:.85rem;color:var(--muted); }
.home-stories-link { margin-top:26px; }
.home-swap { display:grid;grid-template-columns:190px 1fr;gap:42px;align-items:center;max-width:750px;margin:70px auto 0;padding-top:38px;border-top:1px solid var(--line); }
.home-swap img { width:100%;height:auto;display:block; }
.home-swap h3 { font-size:clamp(1.45rem,2.3vw,2rem);font-weight:400;letter-spacing:-.02em;line-height:1.25;margin:10px 0 20px; }
#commission { scroll-margin-top:95px; }
@media(max-width:760px) {
 .home-opening,.home-chapter,.home-finished { width:calc(100% - 40px); }
 .home-opening { grid-template-columns:1fr;gap:12px;min-height:0;padding-block:44px 22px; }
 .home-opening h1 { font-size:clamp(2.65rem,10vw,3.8rem);max-width:none; }
 .home-opening p { font-size:.98rem;margin-bottom:24px; }
 .home-opening img { max-height:370px; }
 .home-chapter,.home-reverse { grid-template-columns:1fr;gap:30px;padding-block:54px; }
 .home-reverse figure,.home-reverse .home-chapter-copy { grid-column:auto;grid-row:auto; }
 .home-chapter-copy { max-width:500px; }
 .home-chapter h2,.home-finished h2 { font-size:2rem;margin-bottom:17px; }
 .home-chapter p,.home-finished-heading p { font-size:1rem; }
 .home-finished { padding-top:14px; }
 .home-pieces { gap:28px;grid-template-columns:1fr; }
 .home-pieces img { max-height:390px; }
 .home-finished-heading { text-align:left;margin-bottom:30px; }
 .home-swap { grid-template-columns:110px minmax(0,1fr);gap:20px;margin-top:48px;padding-top:30px; }
 .home-swap h3 { font-size:1.45rem; }
 .home-swap figcaption { font-size:.67rem; }
}

/* Shared editorial rhythm; loaded last across all pages. */
:root { --editorial-paper:#f5f5f2;--editorial-ink:#232426;--editorial-muted:#555a55; }
body { background:var(--editorial-paper); }
main { overflow-wrap:break-word; }
main [id] { scroll-margin-top:105px; }
.skip-link,.process-skip,.swap-skip { position:fixed;top:12px;left:12px;z-index:1000;padding:14px 20px;background:#232426;color:white;transform:translateY(-200%); }
.skip-link:focus,.process-skip:focus,.swap-skip:focus { transform:translateY(0); }
.nav-group a[aria-current="page"] { text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:1px; }
.text-link,.story-link,.process-link,.swap-link { text-underline-offset:5px; }
figure figcaption { color:var(--editorial-muted);font-size:.76rem;line-height:1.55; }
.cta-band { background:#e9eae6!important;color:var(--editorial-ink)!important;padding:76px 0!important;text-align:center; }
.cta-band h2,.cta-band .display { color:var(--editorial-ink)!important;font:400 clamp(2rem,3.2vw,3rem)/1.12 var(--dashna-type)!important;margin:14px 0 20px;letter-spacing:-.025em!important; }
.cta-band p,.swap-page .cta-band p { color:var(--editorial-muted)!important;max-width:510px;margin:0 auto 26px;font-size:1rem;line-height:1.7; }
.footer-note { color:#d4d6d1;font-size:.8rem;text-align:center;margin:0 0 34px; }
.footer-nav { display:flex;flex-wrap:wrap;justify-content:center;gap:16px 28px; }
.footer-nav a,.footer-legal a { padding-block:10px; }
.page-hero,.story-hero { padding:72px 0 52px!important;background:var(--editorial-paper)!important; }
.page-hero h1,.story-hero h1 { font-size:clamp(2.4rem,4.4vw,4.2rem)!important;line-height:1.08!important;letter-spacing:-.035em!important;font-weight:400; }
.page-hero p,.story-hero p { color:var(--editorial-muted); }
/* Transparent hero asset preserves the ring and its contact shadow. */
.home-opening { padding-top:20px;min-height:540px; }
.home-opening figure,.home-opening img { background:transparent; }
.home-opening p { font-size:1.08rem;line-height:1.6; }
.home-art { max-width:540px; }
.home-art figcaption { text-align:center; }
.home-stone-band { background:transparent; }
.home-stone-band .home-chapter { grid-template-columns:1fr .8fr;max-width:1030px;gap:12%;padding-block:36px 86px; }
.home-stone-band figure { max-width:330px;justify-self:end; }
.home-stone-band .home-chapter-copy { align-self:center; }
.diamond-study { margin:0 0 82px;background:#303030;color:#f5f5f2; }
.diamond-study-image { overflow:hidden; }
.diamond-study img { display:block;width:100%;height:auto; }
.diamond-study figcaption { display:flex;justify-content:space-between;gap:18px;padding:18px 0 22px;color:#e0e1dc;letter-spacing:.015em; }
.home-craft { display:block;padding-top:0;padding-bottom:90px; }
.home-craft figure { width:90%;margin:0 auto; }
.home-craft figure img { width:100%;height:auto;max-height:760px;object-fit:contain; }
.home-craft .home-chapter-copy { display:grid;grid-template-columns:1fr 1fr;max-width:1040px;gap:0 64px;margin:38px auto 0; }
.home-craft h2 { grid-column:1;grid-row:1 / 3; }
.home-craft p,.home-craft .home-quiet-links { grid-column:2; }
.home-pieces { grid-template-columns:1.3fr 1fr 1fr;align-items:center; }
.home-pieces figure:nth-child(2) { margin-top:52px; }
.home-pieces figure:nth-child(3) { margin-top:104px; }
.home-pieces img { mix-blend-mode:multiply;background:transparent; }
.home-swap { margin-top:54px; }
.home-swap figure { mix-blend-mode:multiply; }
#enquiryOptions { align-items:center;gap:14px 22px; }
.enquiry-secondary { background:none;border:0;border-bottom:1px solid #949991;color:var(--editorial-ink);padding:10px 0;min-height:44px;font-size:.9rem;cursor:pointer;text-align:left; }
.enquiry-secondary[aria-pressed="true"] { border-bottom:2px solid var(--editorial-ink); }
.form-trustline { margin-top:20px; }
/* A chapter with the founders becomes the centrepiece of the family story. */
.about-page .about-chapters { padding-bottom:30px!important; }
.about-page .chapter-illustrated { padding-block:48px!important; }
.about-page .chapter-illustrated:nth-child(2) .chapter-art { max-width:390px;justify-self:center; }
.about-page .chapter-founding { display:block;max-width:1020px;margin:24px auto; }
.about-page .chapter-founding .chapter-art { width:88%;margin:0 auto 32px; }
.about-page .chapter-founding .chapter-copy { display:grid;grid-template-columns:1fr 1fr;column-gap:64px;max-width:950px;margin:auto; }
.about-page .chapter-founding .chapter-year { grid-column:1/-1; }
.about-page .chapter-founding .chapter-copy p { margin:0; }
.about-page .present-copy .btn { margin-top:26px; }
.about-page .about-present { padding:70px 0; }
/* Keep the process easy to scan, with equal emphasis on both payment milestones. */
.stage-milestone strong { display:block;font-weight:500;margin-bottom:10px;color:#232426; }
.bespoke-stage { padding:34px 0; }
.bespoke-page .stage-making { grid-template-columns:44px minmax(0,1.15fr) minmax(0,1fr); }
.bespoke-page .process-art { width:100%;max-width:390px; }
.bespoke-page .stage-making .stage-copy { grid-row:2;align-self:start; }
.process-practical { padding:60px 0; }
.process-questions summary,.swap-faq summary { min-height:44px; }
/* The real commission follows the interactive product demonstration. */
.swap-story { background:#e9eae6; }
.swap-how { background:var(--editorial-paper); }
.swap-page .swap-hero { padding-block:54px 64px; }
.swap-demo figure { max-width:560px;margin-inline:auto; }
.swap-demo figure img { mix-blend-mode:multiply; }
.swap-intro { min-width:0; }
.gem-picker label { min-height:76px; }
/* Client commissions: descriptive titles and one lead image per story. */
.story { padding:70px 0;background:var(--editorial-paper); }
.story-alt { background:#eceee8; }
.story-grid { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px; }
.story-copy { max-width:400px; }
.story-copy h2,.story-heading h2 { font-size:clamp(2rem,3.2vw,3.1rem);line-height:1.12; }
.story-copy .story-attribution,.story-heading .story-attribution { font-size:.8rem;margin:0 0 20px;color:var(--editorial-muted); }
.story-primary { aspect-ratio:auto;background:transparent; }
.story-primary img { width:100%;height:auto;max-height:650px;object-fit:contain; }
.story-primary video { width:100%;height:auto;max-height:620px;object-fit:contain;background:#1f2021; }
.story-gallery { grid-template-columns:1.5fr 1fr;gap:20px;align-items:start; }
.story-gallery figure { aspect-ratio:auto;background:transparent; }
.story-gallery figure:first-child { grid-row:1 / 3; }
.story-gallery img { height:auto;object-fit:contain; }
/* Ring sizing is a short practical guide. */
.guide-art img { height:auto; }
.guide-intro { max-width:none; }
.size-options { padding-bottom:58px; }
.size-existing,.size-alternative { display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:center;padding:30px 0 54px; }
.size-options h2 { font-size:clamp(1.8rem,2.8vw,2.7rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin:16px 0 22px; }
.size-options h3 { font-size:1.1rem;font-weight:500;margin:0 0 10px; }
.size-options p { color:var(--editorial-muted);font-size:1rem;line-height:1.7;margin:0 0 16px; }
.size-options figure { margin:0; }
.size-options img { display:block;width:100%;height:auto;max-height:330px;object-fit:contain;mix-blend-mode:multiply; }
.size-options figcaption { text-align:center;margin-top:14px; }
.size-methods { display:grid;grid-template-columns:1fr 1fr;gap:28px;border-top:1px solid var(--line);padding-top:25px;margin-top:28px; }
.size-alternative { grid-template-columns:.7fr 1.3fr;border-top:1px solid var(--line);padding-block:42px; }
.size-alternative figure { max-width:290px; }
.size-note { padding:28px 32px;background:#e9eae6; }
.size-note h2 { font-size:1.6rem;margin-top:0; }
.size-note p { max-width:800px;margin-bottom:0; }
.legal-main { max-width:860px;margin-inline:auto;padding-inline:30px; }
.legal-main h2 { margin-top:42px;scroll-margin-top:110px; }
.legal-main p { max-width:72ch;line-height:1.8; }
.legal-date { font-size:.85rem;color:var(--editorial-muted); }
.legal-contents { background:#e9eae6;padding:24px 28px;margin:30px 0; }
.legal-contents ul { columns:2;list-style:none;padding:0;margin:14px 0 0; }
.legal-contents li { break-inside:avoid;margin:0 0 9px; }
.legal-contents a { display:inline-block;padding-block:4px;font-size:.9rem;text-decoration:underline;text-underline-offset:4px; }
@media(max-width:760px) {
 .wrap { width:calc(100% - 40px); }
 .navin { min-height:62px!important; }
 .nav-group a { min-height:44px;display:flex;align-items:center; }
 .page-hero,.story-hero,.about-page .page-hero,.bespoke-page .page-hero { padding:40px 0 32px!important; }
 .page-hero h1,.story-hero h1 { font-size:clamp(2.1rem,8.5vw,2.75rem)!important; }
 .cta-band { padding:48px 0!important; }
 .cta-band h2,.cta-band .display { font-size:2rem!important; }
 .footer { padding-top:44px!important; }
 .footer-note { font-size:.75rem;margin-bottom:22px; }
 .home-opening { padding-block:30px 10px;gap:4px; }
 .home-opening h1 { margin-bottom:16px;font-size:clamp(2.4rem,9.5vw,3rem); }
 .home-opening p { margin-bottom:20px;font-size:.98rem; }
 .home-opening img { max-height:300px; }
 .home-chapter { padding-block:40px;gap:24px; }
 .home-art img { max-height:420px; }
 .home-stone-band .home-chapter { grid-template-columns:1fr;gap:25px;width:calc(100% - 40px);padding:20px 0 44px; }
 .home-stone-band figure { grid-row:2;width:72%;max-width:260px;justify-self:end; }
 .home-stone-band .home-chapter-copy { grid-row:1; }
 .diamond-study { margin-bottom:44px; }
 .diamond-study img { height:230px;width:100%;object-fit:cover;object-position:center; }
 .diamond-study figcaption { padding-block:14px 18px;flex-direction:column;gap:4px;font-size:.71rem; }
 .home-craft { padding-block:0 44px; }
 .home-craft figure { width:calc(100% + 40px);margin-left:-20px; }
 .home-craft .home-chapter-copy { display:block;margin-top:26px; }
 .home-craft .home-quiet-links { gap:16px;margin-top:20px; }
 .home-finished { padding-bottom:48px; }
 .home-pieces { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px; }
 .home-pieces figure:first-child { grid-column:1/-1;max-width:380px;width:100%;justify-self:center; }
 .home-pieces figure:nth-child(n) { margin:0; }
 .home-pieces figcaption { font-size:.75rem;margin-top:10px; }
 .home-pieces img { max-height:330px; }
 .home-swap { grid-template-columns:100px minmax(0,1fr);gap:18px;margin-top:34px; }
 .home-swap h3 { font-size:1.3rem; }
 .formsec { padding:44px 0!important; }
 .commission-intro { margin-bottom:18px!important; }
 .commission-intro .display { font-size:2rem!important; }
 .form-trustline { margin-top:0; }
 #enquiryOptions { display:flex!important;flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:20px; }
 #enquiryOptions .btn { width:auto!important; }
 #detailMode { width:auto!important; }
 .contact-grid input,.field textarea,.field select { font-size:16px; }
 .about-page .chapter-illustrated { padding-block:26px!important; }
 .about-page .chapter-illustrated:nth-child(2) .chapter-art { width:85%; }
 .about-page .chapter-founding { margin-block:10px; }
 .about-page .chapter-founding .chapter-art { width:100%;margin-bottom:24px; }
 .about-page .chapter-founding .chapter-copy { display:block; }
 .about-page .chapter-founding .chapter-copy p { margin-top:16px; }
 .about-page .about-present { padding:44px 0; }
 .bespoke-page .stage-making { grid-template-columns:28px minmax(0,1fr); }
 .bespoke-page .stage-making .stage-copy { grid-column:2;grid-row:3; }
 .bespoke-page .process-art { max-width:320px; }
 .process-practical { padding:44px 0; }
 .swap-page .swap-hero { padding:34px 0 42px;gap:24px;display:flex;flex-direction:column; }
 .swap-intro { display:block!important;order:0!important; }
 .swap-demo { order:1!important;width:100%; }
 .swap-page .swap-hero h1 { font-size:2.15rem; }
 .swap-demo figure { max-width:340px; }
 .swap-demo figure img { max-height:310px;object-fit:contain; }
 .gem-picker { gap:6px;margin-top:18px; }
 .gem-picker label { font-size:.73rem;min-height:78px;padding:12px 2px; }
 .swap-how,.swap-story { padding-block:42px; }
 .swap-options,.swap-faq { padding-block:42px;gap:24px; }
 .story { padding:42px 0; }
 .story-grid,.story-heading { grid-template-columns:1fr;gap:24px; }
 .story-copy h2,.story-heading h2 { font-size:2rem; }
 .story-gallery { grid-template-columns:1fr 1fr;gap:12px; }
 .story-gallery figure:first-child { grid-column:1/-1;grid-row:auto; }
 .size-existing,.size-alternative { grid-template-columns:1fr;gap:22px;padding-block:20px 34px; }
 .size-existing figure { max-width:260px;margin:auto; }
 .size-alternative figure { max-width:180px;order:2;justify-self:end; }
 .size-methods { grid-template-columns:1fr;gap:14px; }
 .size-note { padding:24px; }
 .legal-main { padding-inline:20px; }
 .legal-contents { padding:20px; }
 .legal-contents ul { columns:1; }
}

/* Final readability and interaction pass. Loaded after the original editorial styles. */
:root { --muted:#535852; --editorial-muted:#535852; }
body { font-size:1.125rem; }
.home-opening p,.home-chapter p,.home-finished-heading p,.page-hero p,.story-hero p,.chapter-copy p,.present-copy p,.stage-copy p,.process-practical p,.story-copy p,.story-heading p,.size-options p,.swap-page p,.copy p,.about-intro p,.commission-intro p,.step-copy p,.faq details p,.process-questions details p,.swap-faq details p,.cta-band p { font-size:1.125rem!important;line-height:1.7!important; }
.legal-main p,.legal-main li { font-size:1.0625rem!important; }
.service-bar,.service-centre,.service-right { font-size:.875rem!important;line-height:1.4!important;white-space:normal!important; }
.nav-group { font-size:.9375rem!important; }
.btn,.text-link,.form-helper-link,.ring-guide-bottom a,.review-edit,.process-link,.swap-link,.enquiry-secondary { font-size:1rem!important;line-height:1.4!important; }
.eyebrow,.chapter-year,.stage-number,.swap-number,.enquiry-kicker,.step-copy .eyebrow,.story-attribution { font-size:.875rem!important;line-height:1.5!important; }
.field label,.progress-meta,.review-row strong,.form-step h4 { font-size:.875rem!important;line-height:1.5!important;letter-spacing:.025em!important; }
.form-trustline,.upload-note,.policy-note,.privacy-notice-inline,.form-error,.swap-page .swap-small,.process-intro-note,.stage-copy .stage-milestone { font-size:.9375rem!important;line-height:1.65!important; }
input,select,textarea,.choice-card span { font-size:1rem!important; }
.footer-note,.footer-nav,.footer-social { font-size:.9375rem!important;color:#dedfdc!important; }
.footer-legal,.footer-contact-copy > span { font-size:.875rem!important;color:#c6c9c3!important; }
.footer-contact-copy strong { font-size:1rem!important; }
.nav-title { width:137.28px!important; }
.footer-wordmark { width:164.32px; }
.home-opening .opening-reassurance { font-size:.9375rem!important;max-width:37ch;margin:20px 0 0;line-height:1.6!important; }
.archive-chapter { background:#303030 url('/assets/site/archive-texture.jpg') repeat; padding-bottom:0; }
.diamond-study { margin:0;background:transparent; }
.diamond-study-image { width:100%;margin:auto; }
.diamond-study img { width:100%;height:auto!important;object-fit:contain!important; }
.archive-chapter .home-craft { padding:64px 0 0; }
.archive-chapter .home-craft figure { width:90%; }
.home-craft-copy { display:block;padding-block:44px 80px; }
.home-craft-copy .home-chapter-copy { display:grid;grid-template-columns:1fr 1fr;gap:0 64px;max-width:1040px;margin:auto; }
.home-craft-copy h2 { grid-column:1;grid-row:1/3; }
.home-craft-copy p,.home-craft-copy .home-quiet-links { grid-column:2; }
.client-feature { max-width:780px;margin:48px auto 0;padding:36px 40px;background:#e9eae6;text-align:center; }
.client-feature h3 { font-size:clamp(1.6rem,2.6vw,2.25rem);line-height:1.2;font-weight:400;margin:14px 0 18px; }
.client-feature p { font-size:1.125rem;line-height:1.7;margin:0; }
.client-feature .home-stories-link { display:inline-block;margin-top:22px;text-decoration:underline!important;text-underline-offset:6px; }
.process-summary { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;background:#e9eae6;padding:28px 32px;margin-bottom:36px; }
.process-summary strong { font-size:1.0625rem;font-weight:500; }
.process-summary p { font-size:1rem;line-height:1.6;margin:10px 0 0; }
.swap-hero { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:36px; }
.swap-demo { display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:16px;align-items:center; }
.swap-demo figure { width:100%;margin:0; }
.swap-demo figure img { width:100%;height:auto;aspect-ratio:1;object-fit:contain; }
.swap-demo > p:not(.sr-only),.swap-demo > noscript { grid-column:1/-1; }
.gem-picker { display:flex;flex-direction:column;gap:8px;margin:0;min-width:0; }
.gem-picker legend { font-size:.875rem;line-height:1.4;padding-bottom:12px; }
.gem-picker label { min-height:64px;font-size:.875rem;padding:8px 5px;gap:5px;line-height:1.3; }
.gem-picker label:has(input:checked) { outline:1px solid #232426;background:#e1e4db; }
.gem-picker label:has(input:checked) .gem-check { display:block;position:absolute;top:4px;right:6px;font-size:14px; }
.sr-only { position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
@media(max-width:1050px) and (min-width:761px) { .nav-group { gap:15px!important; } .swap-hero { grid-template-columns:1fr; } .swap-demo { max-width:700px;justify-self:center;width:100%; } }
@media(max-width:760px) {
 body { font-size:1.0625rem; }
 .home-opening p,.home-chapter p,.home-finished-heading p,.page-hero p,.story-hero p,.about-page .chapter-copy p,.present-copy p,.stage-copy p,.process-practical p,.story-copy p,.story-heading p,.size-options p,.swap-page p,.copy p,.about-intro p,.commission-intro p,.step-copy p,.faq details p,.process-questions details p,.swap-faq details p,.cta-band p { font-size:1.0625rem!important; }
 .service-bar,.service-centre,.service-right { font-size:.8125rem!important; }
 .nav-title { width:118.56px!important; } .footer-wordmark { width:147.68px; }
 .footer-note,.footer-nav { font-size:.875rem!important; }
 .archive-chapter .home-craft { padding-top:32px;padding-bottom:0; }
 .archive-chapter .home-craft figure { width:calc(100% + 40px); }
 .home-craft-copy { padding-block:28px 48px; }
 .home-craft-copy .home-chapter-copy { display:block; }
 .client-feature { padding:28px 20px;margin-top:32px; }
 .client-feature p { font-size:1.0625rem; }
 .process-summary { grid-template-columns:1fr;gap:20px;padding:24px;margin-bottom:18px; }
 .process-summary p { margin-bottom:0; }
 .swap-demo { grid-template-columns:minmax(0,1fr) 100px;gap:12px; }
 .swap-demo figure img { max-height:none; }
 .gem-picker label { min-height:58px;font-size:.875rem; }
 .gem-picker legend { font-size:.8125rem; }
 .home-opening .opening-reassurance { font-size:.9375rem!important; }
}

.gem-check { display:none; }
.diamond-study img { mask-image:linear-gradient(to bottom,#000 92%,transparent 100%); }

/* October editorial revision: shared photograph texture and engagement-led selection. */
.footer-legal { display:flex;justify-content:center;align-items:baseline;gap:24px;flex-wrap:wrap; }
.footer-legal > a,.footer-legal > span { display:inline-block;margin:0!important;padding:10px 0!important;line-height:1.5!important;font:inherit!important; }
.archive-chapter { background:#303030 url('/assets/site/diamond-sampled-texture.webp') repeat;background-size:640px 160px;padding:28px 0 48px; }
.diamond-study-image { width:min(760px,90%);margin-inline:auto; }
.diamond-study img { mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 91%,transparent);mask-composite:intersect; }
.archive-chapter .home-craft { padding:28px 0 0; }
.archive-chapter .home-craft figure { width:88%;margin:0 auto; }
.home-pieces { grid-template-columns:1.18fr 1fr 1fr;gap:28px;align-items:center; }
.home-pieces figure:nth-child(2) { margin-top:58px; }
.home-pieces figure:nth-child(3) { margin-top:116px; }
.home-pieces img { background:transparent;mix-blend-mode:multiply;object-fit:contain; }
@media(max-width:760px) {
 .archive-chapter { padding:18px 0 24px; }
 .archive-chapter .home-craft { padding-top:18px; }
 .archive-chapter .home-craft figure { width:100%;margin:0; }
 .home-pieces { grid-template-columns:1fr 1fr;gap:10px 14px; }
 .home-pieces figure:nth-child(n) { margin:0; }
 .home-pieces figure:first-child { grid-column:1/-1;max-width:360px; }
 .home-pieces img { max-height:none; }
}

.gallery-home-link { text-align:center;margin:36px 0; }

/* Gallery revision: keep contact reachable on mobile, with Gallery in the main nav. */
.nav-group .mobile-contact { display:none; }
:root { --jewellery-paper:#f5f5f2; }
.home-pieces { grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:center; }
.home-pieces figure:nth-child(n) { margin:0;aspect-ratio:1;overflow:hidden;background:var(--jewellery-paper);isolation:isolate; }
.home-pieces figure:nth-child(2) { margin-top:28px; }
.home-pieces img { width:100%;height:100%;max-height:none;object-fit:contain;mix-blend-mode:darken;transform:scale(1.12); }
.home-pieces figure:first-child img { transform:scale(1.04); }
.home-swap.home-swap-compact { max-width:900px;margin:0 auto 64px;padding:20px 32px;grid-template-columns:180px minmax(0,1fr);gap:32px;border-top:1px solid #d8d9d3;border-bottom:1px solid #d8d9d3; }
.home-swap.home-swap-compact figure { max-width:180px; }
.home-swap.home-swap-compact h3 { font-size:clamp(1.3rem,2.3vw,1.8rem); }
.client-feature.client-feature-separated { margin:16px auto 72px;max-width:900px;padding:40px 44px; }
@media(max-width:760px) {
 .nav-group .mobile-contact { display:block; }
 .home-pieces { grid-template-columns:1fr 1fr;gap:14px; }
 .home-pieces figure:nth-child(n) { margin:0;grid-column:auto;width:100%;max-width:none; }
 .home-pieces figure:last-child { grid-column:1/-1;width:calc((100% - 14px)/2);justify-self:center; }
 .home-swap.home-swap-compact { width:calc(100% - 40px);grid-template-columns:100px minmax(0,1fr);gap:16px;padding:20px 0;margin-bottom:40px; }
 .home-swap.home-swap-compact h3 { font-size:1.25rem; }
 .client-feature.client-feature-separated { width:calc(100% - 40px);padding:28px 24px;margin:0 auto 44px; }
}

/* Shared region controls and appointments; existing jewellery layouts stay intact. */
.region-bar{background:#eeede8;border-bottom:1px solid #d8d7d0;color:#353934;font-size:12px;letter-spacing:.025em}
.region-bar-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px}
.region-bar nav{display:flex;align-items:center;gap:12px}
.region-bar a{color:inherit;text-decoration:none;padding:5px 0}
.region-bar a[aria-current]{text-decoration:underline;text-underline-offset:5px}
.region-bar a:hover{text-decoration:underline;text-underline-offset:5px}
.region-bar a:focus-visible,.region-choices a:focus-visible{outline:2px solid #514a3e;outline-offset:5px}
.contact-content{padding-top:10px;padding-bottom:80px}
.contact-intro{max-width:650px;margin-bottom:64px}
.contact-content p{line-height:1.75;color:#5d615b;max-width:660px}
.contact-content h2{font-size:clamp(1.7rem,3vw,2.5rem);font-weight:400;letter-spacing:-.025em}
.contact-content h3{font-size:1.5rem;font-weight:400}
.contact-content .btn{display:inline-flex;margin:18px 0}
.contact-content .text-link{display:inline-block;margin:12px 0;text-underline-offset:5px}
.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin:36px 0 56px}
.store-card{border-top:1px solid #c9cbc3;padding:20px 0}
.store-card address{font-style:normal;line-height:1.8;max-width:330px}
.store-card .text-link{display:block;width:fit-content}
.contact-service{border-top:1px solid #c9cbc3;padding-top:24px}
.footer-stores{text-align:center;padding:12px 20px;font-size:.9rem}
.footer-stores a{color:inherit;text-underline-offset:5px}
.india-appointments{font-size:.85rem!important;line-height:1.6!important;margin-top:20px}
.india-appointments a{color:inherit;text-underline-offset:4px}
.india-budget{display:grid;gap:12px;margin:20px 0 10px;max-width:420px}
.india-budget input{width:100%;box-sizing:border-box;border:1px solid #a9afa5;border-radius:4px;background:transparent;padding:15px;font:inherit;color:inherit}
#budget-help{max-width:520px;font-size:.85rem;line-height:1.6}
html[data-region="in"] .nav-group a[href*="bespoke-process"]{max-width:150px;line-height:1.35;text-align:center}
.region-entry{margin:0;background:#f4f2eb;color:#30372f}
.region-entry-grid{min-height:100svh;max-width:1500px;margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center}
.region-entry-copy{padding:60px clamp(28px,7vw,100px)}
.entry-wordmark{display:block;width:clamp(180px,21vw,260px);height:auto;margin-bottom:64px}
.region-entry-copy .eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.8}
.region-entry h1{font-size:clamp(2.6rem,5vw,4.7rem);font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:22px 0}
.entry-description{font-size:1rem;line-height:1.8;color:#62675c}
.region-choices{max-width:390px;margin-top:36px}
.region-choices>p{font-size:.75rem;letter-spacing:.07em;text-transform:uppercase;margin-bottom:16px}
.region-choices a{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #b7bcb0;padding:20px 4px;color:inherit;text-decoration:none;font-size:1.15rem}
.region-choices a:last-child{border-bottom:1px solid #b7bcb0}
.region-choices a:hover{background:#e9e9df}
.entry-footnote{font-size:.75rem;color:#62675c;margin-top:24px}
.region-entry-art{margin:0;padding:20px 30px 20px 0}
.region-entry-art img{display:block;width:100%;height:auto;mix-blend-mode:darken}
@media(max-width:760px){.region-bar-inner{padding-top:6px;padding-bottom:6px;font-size:11px}.region-bar nav{gap:10px}.store-grid{grid-template-columns:1fr;gap:12px}.contact-content{padding-bottom:48px}.region-entry-grid{grid-template-columns:1fr}.region-entry-copy{padding:36px 26px 20px}.entry-wordmark{margin-bottom:36px;width:190px}.region-entry h1{font-size:2.8rem}.region-choices{max-width:none;margin-top:26px}.region-entry-art{padding:0 20px 24px;max-width:380px;margin:auto}.region-entry-art img{max-height:300px;object-fit:contain}html[data-region="in"] .nav-group a[href*="bespoke-process"]{max-width:none}}
/* October refinement: compact controls, quiet opening, no costly sticky blur. */
.nav{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#f5f5f2!important}
html[data-region="in"] .nav-group a[href*="bespoke-process"]{white-space:nowrap;max-width:none;text-align:left}
.region-picker{position:relative;order:5;font-size:12px;letter-spacing:0;text-transform:none;flex-shrink:0}
.region-picker summary{cursor:pointer;list-style:none;padding:10px 4px;display:flex;gap:7px;align-items:center}
.region-picker summary::-webkit-details-marker{display:none}
.region-picker summary:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.region-menu{position:absolute;right:0;top:100%;min-width:170px;background:#f5f5f2;border:1px solid #d6d8cf;box-shadow:0 6px 18px #0000000d;padding:8px;z-index:60}
.region-menu a{display:block!important;padding:12px!important;white-space:nowrap;font-size:13px!important}
.region-menu a:hover,.region-menu a[aria-current]{background:#e8eae2}
.home-opening .home-regions{font-size:12px!important;letter-spacing:.08em;line-height:1.5!important;margin:18px 0 26px!important;color:#62675c}
.enquiry-whatsapp{margin:16px 0;font-size:.95rem;line-height:1.6}
.enquiry-whatsapp a{color:inherit;text-decoration:underline;text-underline-offset:5px}
.region-dialog{box-sizing:border-box;width:min(460px,calc(100% - 40px));max-height:90svh;overflow:auto;margin:auto;border:1px solid #d8dbd1;padding:46px 36px 30px;background:#f5f5f2;color:#30372f;box-shadow:0 12px 60px #0002}
.region-dialog::backdrop{background:rgba(30,34,28,.35)}
.region-dialog h2{font-size:2rem;line-height:1.15;letter-spacing:-.03em;font-weight:400;margin:18px 0}
.region-dialog p{font-size:.95rem;line-height:1.6}
.region-dialog .eyebrow{font-size:11px;letter-spacing:.1em}
.region-close{position:absolute;right:12px;top:8px;border:0;background:none;color:inherit;font-size:26px;width:44px;height:44px;cursor:pointer}
.region-dialog-links{margin-top:26px}
.region-dialog-links a{display:flex;justify-content:space-between;padding:18px 0;border-top:1px solid #c8cdc0;color:inherit;text-decoration:none}
.region-dialog-links a:last-child{border-bottom:1px solid #c8cdc0}
.region-dialog-links a:hover{background:#e8eae2}
.region-dialog .region-note{font-size:12px;color:#62675c;margin:22px 0 0}
.region-fallback{position:fixed;bottom:0;left:0;right:0;padding:20px;background:#f5f5f2;border-top:1px solid;z-index:100;text-align:center}
@media(min-width:761px) and (max-width:1100px){.navin{gap:16px!important}.nav-group{gap:12px!important;font-size:13px!important}.nav-title img{width:120px!important}}
@media(max-width:760px){.region-picker{width:100%;padding:10px 0;border-top:1px solid #d6d8cf;margin-top:12px}.region-picker summary{font-size:13px;padding:10px 0}.region-menu{position:static;box-shadow:none;border:0;padding:0;min-width:0}.nav .region-menu a{padding:12px 0!important}.region-dialog{width:100%;max-width:none;margin:auto 0 0;padding:40px 26px 24px;border-radius:12px 12px 0 0}.region-dialog h2{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}
@media(min-width:761px){.nav .navin{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important}.nav .nav-title{grid-column:2!important;grid-row:1!important}.nav .nav-group:first-child{grid-column:1!important;grid-row:1!important;justify-content:flex-start!important}.nav .nav-group:last-child{grid-column:3!important;grid-row:1!important;justify-content:flex-end!important}.nav .nav-group{width:auto!important;padding:0!important;flex-wrap:nowrap!important}}

/* Focused visual polish; existing mobile section spacing and gallery layout retained. */
.enquiry-routes{grid-column:2;grid-row:1;width:100%}
.enquiry-route{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;padding:25px 26px;border:1px solid #aeb4aa;background:transparent;text-align:left;color:#292e28;text-decoration:none;font:inherit;cursor:pointer}
.enquiry-route-primary{border-color:#51594d}
.enquiry-route strong{display:block;font-size:1.2rem;font-weight:500;line-height:1.4}
.route-description{display:block;font-size:.95rem;color:#50564d;line-height:1.65;margin-top:8px}
.route-arrow{font-size:1.4rem;flex-shrink:0}
.enquiry-route:hover{background:#e5e8df}
.enquiry-route:focus-visible,.enquiry-back:focus-visible{outline:2px solid #30372f;outline-offset:4px}
.route-or{text-align:center;font-size:.9rem;color:#50564d;padding:15px}
.enquiry-options{grid-column:2;grid-row:1}
#quickEnquiry{grid-column:2;grid-row:2}
.enquiry-back{flex-basis:100%;border:0;background:transparent;padding:8px 0;text-align:left;color:#50564d;font:inherit;font-size:.9rem;cursor:pointer;text-decoration:underline;text-underline-offset:5px}
#enquiryOptions.hidden,.hidden{display:none!important}
:root{--muted:#4c524a;--editorial-muted:#4c524a}
.home-regions,.entry-description,.entry-footnote,.region-note,.story-attribution,.chapter-year,.upload-note,.microcopy,.opening-reassurance{color:#50564d!important}
.about-page .chapter-parents{align-items:start}
.about-page .chapter-parents .chapter-art{align-self:start}
.about-page .chapter-parents .chapter-copy p{max-width:520px}
.family-highlight{display:block;font-size:1.35rem;font-weight:500;color:var(--ink,#292e28);line-height:1.4;margin-bottom:12px}
.btn{min-height:48px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:12px}
.text-link,.process-link,.form-helper-link{line-height:1.5;text-underline-offset:5px}
@media(max-width:900px){.enquiry-routes,.enquiry-options,#quickEnquiry{grid-column:1;grid-row:auto}}
@media(max-width:760px){.enquiry-route{padding:22px 20px;gap:16px}.enquiry-route strong{font-size:1.1rem}.family-highlight{font-size:1.2rem}}

/* Compact editorial feature and footer; established brand palette retained. */
.family-feature{margin-block:34px 48px}
.family-feature-inner{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,540px);align-items:center;justify-content:center;gap:42px;padding:28px 38px;background:#e8eae2}
.family-feature img{display:block;width:100%;height:auto;max-height:200px;object-fit:contain}
.family-feature h2{font-size:clamp(1.5rem,2.5vw,2rem);font-weight:400;line-height:1.2;letter-spacing:-.025em;margin:8px 0 14px}
.family-feature p:not(.eyebrow){font-size:1rem;line-height:1.65;margin:0 0 16px;max-width:480px}
.family-feature .eyebrow{font-size:.72rem;margin:0}
.dashna-footer{background:#1d1f20;color:#f5f5f2;padding:64px 0 28px;text-align:left}
.dashna-footer a{color:inherit;text-decoration:none}
.dashna-footer a:hover{text-decoration:underline;text-underline-offset:5px}
.dashna-footer a:focus-visible,.dashna-footer summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:60px;padding-bottom:48px}
.footer-group summary{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600;list-style:none;cursor:pointer;margin-bottom:22px}
.footer-group summary::-webkit-details-marker{display:none}
.footer-group nav{display:grid;gap:15px;font-size:.9rem;line-height:1.6}
.footer-group nav a{width:fit-content;color:#d8dad5}
.footer-bottom{border-top:1px solid #636660;padding-top:30px;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:24px}
.footer-brand{justify-self:center;display:block;width:min(260px,100%)}
.footer-brand img{display:block;width:100%;height:auto;max-height:90px}
.footer-copyright{font-size:.75rem;justify-self:end;color:#d8dad5}
.dashna-footer .footer-region{order:0;justify-self:start;width:auto;margin:0;padding:0;border:0}
.dashna-footer .region-menu{top:auto;bottom:100%;background:#1d1f20;color:#f5f5f2;border:1px solid #636660;position:absolute;min-width:160px;padding:10px;z-index:5}
.dashna-footer .region-menu a{display:block;padding:10px}
.company-disclosure{font-size:.72rem!important;line-height:1.7!important;color:#c6c9c2;margin:24px 0 0;max-width:760px}
.company-panel{padding-block:32px 48px;font-size:.9rem;line-height:1.7}
.company-panel h2{font-size:1.4rem;font-weight:400}
.region-dialog{width:min(420px,calc(100% - 40px));padding:28px 30px;border-radius:0}
.region-dialog h2{font-size:1.8rem;margin:12px 0}
.region-dialog::backdrop{background:rgba(30,34,28,.38)}
.region-dialog .region-dialog-links{margin-top:20px}
@media(min-width:761px){.footer-group:not([open]) nav{display:grid}.footer-group summary{cursor:default}}
@media(max-width:760px){
 .family-feature-inner{grid-template-columns:110px minmax(0,1fr);gap:18px;padding:22px 18px;align-items:start}
 .family-feature h2{font-size:1.4rem}.family-feature p:not(.eyebrow){font-size:.9rem}.family-feature img{margin-top:22px}
 .dashna-footer{padding-top:24px}.footer-columns{display:block;padding-bottom:22px}
 .footer-group{border-bottom:1px solid #52564f}.footer-group summary{padding:20px 0;margin:0;display:flex;justify-content:space-between}
 .footer-group summary::after{content:'+';font-size:1rem}.footer-group[open] summary::after{content:'−'}
 .footer-group nav{padding:0 0 22px;gap:14px}.footer-bottom{grid-template-columns:1fr 1fr;gap:22px;padding-top:22px}
 .footer-brand{grid-column:1/-1;grid-row:2;width:200px}.footer-copyright{margin:0}.company-disclosure{text-align:center}
 .region-dialog{width:calc(100% - 32px);max-width:420px;margin:auto;padding:28px 24px;border-radius:0}
}
@media(max-width:360px){.family-feature-inner{grid-template-columns:80px minmax(0,1fr);gap:14px;padding:18px 14px}.family-feature h2{font-size:1.25rem}}
.dashna-footer .region-menu{left:0;right:auto}
.dashna-footer .region-menu a:hover,.dashna-footer .region-menu a[aria-current="true"]{background:#353a33;color:#fff}

/* Focused additions to the approved cleanup baseline. */
.client-proof{padding-block:56px;scroll-margin-top:100px}
.client-proof h2{font-size:clamp(1.65rem,2.8vw,2.3rem);margin:0 0 30px;font-weight:400}
.proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.proof-card{min-width:0;scroll-margin-top:100px}
.client-photo{display:block;background:#e5e4df;overflow:hidden}
.client-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 60%}
.proof-card-copy{padding:20px 0}
.proof-card h3{font-size:1.2rem;font-weight:500;line-height:1.4;margin:0 0 16px}
.proof-card blockquote{margin:0 0 20px;border:0;padding:0}
.proof-card blockquote p,.client-caption{font-size:15px;line-height:1.75;margin:0 0 14px}
.proof-card cite{font-size:13px;font-style:normal;color:var(--muted,#555)}
.proof-card .text-link{font-size:14px;display:inline-block;padding-block:10px;text-decoration:underline;text-underline-offset:5px}
.client-more{text-align:center;margin-top:20px}
.client-film{margin-top:20px;padding-top:16px;border-top:1px solid #ccc}
.client-film summary{cursor:pointer;min-height:44px;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.client-film video{width:100%;max-height:480px;display:block;background:#111}
.client-whatsapp{margin-left:auto;padding:12px 0;font-size:14px;text-decoration:underline;text-underline-offset:4px}
.enquiry-options{flex-wrap:wrap;align-items:center}
.hallmark-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid #ffffff30}
.hallmark-footer>a:first-child{display:block;width:340px;max-width:100%;padding:16px;background:white}
.hallmark-footer img{display:block;width:100%;height:auto}
.hallmark-footer .text-link{font-size:14px;color:inherit}
.hallmark-section{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding-block:65px;scroll-margin-top:100px}
.hallmark-section h2{font-size:2rem;font-weight:400}
.hallmark-section p{line-height:1.75}
.notice-preview{display:block;background:white;padding:12px;border:1px solid #ddd}
.notice-preview img{display:block;width:100%;height:auto}
.swap-page .swap-demo{grid-template-columns:1fr;gap:0}
.swap-page .swap-demo .gem-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;margin-top:20px}
.swap-page .swap-demo figure{overflow:hidden}
.swap-page #gem-preview{width:100%;height:auto;transform:scale(1.2);transform-origin:center}
@media(max-width:760px){
.client-proof{padding-block:36px}
.proof-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.homepage-clients .proof-card:nth-child(n+3){display:none}
.client-photo img{aspect-ratio:1.45;max-height:320px}
.proof-card-copy{padding:18px 0 0}
.proof-card h3{font-size:1.2rem}
.proof-card blockquote p{font-size:16px;line-height:1.65}
.proof-card .text-link{min-height:44px}
.client-more{margin-top:26px}
.client-more .btn{min-height:48px;width:100%;justify-content:center}
.client-whatsapp{margin-left:0;width:100%;min-height:44px}
.enquiry-options{gap:10px}
.enquiry-options button{font-size:13px;padding:12px}
input,textarea,select{font-size:16px!important}
.hallmark-footer{flex-direction:column;align-items:flex-start}
.hallmark-section{grid-template-columns:1fr;gap:26px;padding-block:40px}
.swap-page .swap-hero{grid-template-columns:minmax(0,1fr);gap:0}
.swap-page .swap-demo{width:100%;padding:0;max-width:none}
.swap-page .swap-demo .gem-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.swap-page .swap-hero h1{font-size:1.9rem;line-height:1.2}
.swap-page .swap-demo figure{width:100%;max-width:none;padding:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* Mobile-first client discovery and direct contact. */
.piece-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.piece-heading h2{margin:0}.piece-arrows{display:flex;gap:8px}.piece-arrows button,.viewer-controls button,.viewer-close{background:#111;color:#fff;border:0;width:44px;height:44px;border-radius:50%;font-size:22px;cursor:pointer}.piece-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 32px)/3);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;margin-top:24px;padding-bottom:12px;scrollbar-width:thin}.piece-card{min-width:0;scroll-snap-align:start}.piece-card>button{border:0;background:none;padding:0;text-align:left;width:100%;cursor:pointer;color:inherit;font:inherit}.piece-card img{display:block;width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;background:#e9e7e1}.piece-card span{display:block;margin:12px 0 5px;font-size:16px}.piece-card small{font-size:12px;color:#666}.piece-card button:focus-visible{outline:2px solid #111;outline-offset:4px}.client-quote{text-align:center;border:0;margin:28px auto 12px;max-width:550px;font-size:16px;line-height:1.6}.client-quote cite{display:block;font-size:12px;font-style:normal;margin-top:8px}.full-pieces{padding-block:48px 64px}.full-pieces h1{font-size:clamp(26px,4vw,40px);font-weight:400}.full-pieces>p{max-width:560px}.piece-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 20px;margin-top:32px}.piece-viewer{width:min(1000px,94vw);max-height:92dvh;padding:52px 24px 24px;border:0;background:#faf9f6;color:#191919;overflow:auto}.piece-viewer::backdrop{background:#000a}.viewer-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}.viewer-close{position:absolute;right:12px;top:8px;z-index:2}.viewer-media{background:#e9e7e1;touch-action:pan-y}.viewer-media img,.viewer-media video{display:block;width:100%;height:58vh;object-fit:contain}.viewer-controls{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:12px}.viewer-controls button:disabled{opacity:.3;cursor:default}.viewer-copy h2{font-size:26px;font-weight:400}.viewer-copy blockquote{margin:20px 0;font-size:15px;line-height:1.6}.viewer-copy .btn{display:flex;text-align:center;justify-content:center}.viewer-wa{display:block;padding:18px 0;text-align:center;text-decoration:underline}.viewer-open{overflow:hidden}.mobile-enquire{display:none}.enquiry-intro h2{font-size:28px;font-weight:400}.enquiry-intro p{font-size:16px;line-height:1.6}.commission-shell{max-width:900px;margin:auto}.optional-upload{padding:12px 0;margin:0 0 16px}.optional-upload summary{cursor:pointer;min-height:36px;text-decoration:underline}.optional-upload .field{margin-top:12px}.form-whatsapp{display:block;text-align:center;padding:18px 0;text-decoration:underline}.family-feature-inner{grid-template-columns:1.15fr 1fr!important}.family-feature img{width:100%;max-height:440px;object-fit:cover}.home-craft img{max-height:400px;object-fit:cover}.home-swap img{width:100%;max-height:420px;object-fit:contain}.swap-page .swap-demo{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px;align-items:center}.swap-page .swap-demo figure{grid-column:1;margin:0;min-width:0}.swap-page .swap-demo .gem-picker{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;margin:0;padding:0;gap:8px;min-width:0}.swap-page .gem-picker label{min-height:48px;padding:8px;font-size:12px}.swap-demo>.swap-small,.swap-demo>noscript{grid-column:1/-1}
@media(max-width:760px){body{padding-bottom:76px}.piece-track{grid-auto-columns:calc((100% - 12px)/2);gap:12px}.piece-card span{font-size:14px;line-height:1.4}.piece-card img{aspect-ratio:4/5}.piece-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px}.client-proof h2{font-size:23px}.piece-arrows{gap:6px}.piece-arrows button{width:40px;height:40px}.full-pieces{padding-top:28px}.mobile-enquire{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:80;padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;background:#faf9f6;border-top:1px solid #ddd}.mobile-enquire a{display:flex;align-items:center;justify-content:center;flex:1;min-height:46px;border:1px solid #171717;color:#171717;font-size:14px;text-decoration:none}.mobile-enquire a:first-child{background:#171717;color:white}.mobile-enquire.bar-hidden{display:none}.viewer-layout{grid-template-columns:1fr;gap:12px}.piece-viewer{padding:52px 16px 16px;width:94vw;max-height:94dvh}.viewer-media img,.viewer-media video{height:42dvh}.viewer-copy h2{font-size:23px}.viewer-copy .eyebrow{display:none}.viewer-copy blockquote{font-size:14px}.commission-shell{display:block!important;padding:0!important}.enquiry-intro{padding:0 0 16px!important}.enquiry-intro h2{font-size:25px;margin-bottom:12px}.enquiry-intro p{margin-bottom:0}#quickEnquiry{padding:20px 16px!important;scroll-margin-top:80px}#quickEnquiry .contact-grid{display:block}#quickEnquiry textarea{min-height:90px}#quickEnquiry button[type=submit]{width:100%;min-height:48px;justify-content:center}#quickEnquiry .field{margin-bottom:16px}.privacy-notice-inline{font-size:12px!important;line-height:1.6}.family-feature-inner{display:block!important}.family-feature img{max-height:300px;margin-bottom:20px}.home-craft img{height:230px;width:100%;object-fit:cover}.home-chapter,.family-feature{padding-block:28px!important}.swap-page .swap-demo{grid-template-columns:minmax(0,1fr) 95px!important;gap:8px}.swap-page .swap-demo .gem-picker{grid-template-columns:1fr!important}.swap-page .gem-picker label{font-size:11px;display:flex;gap:5px;flex-wrap:wrap}.swap-page #gem-preview{transform:scale(1.12)}.swap-page .swap-demo figure{overflow:hidden}.home-swap img{max-height:300px}}
#enquiryOptions,#enquiryRoutes,#commissionForm,.progress-wrap{display:none!important}
.piece-card{position:relative}.card-video{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:#e9e7e1}.piece-card>.card-pause{position:absolute;top:8px;right:8px;background:#111;color:white;border-radius:20px;padding:8px 14px;min-height:44px;width:auto;font-size:12px;z-index:1}
@media(max-width:760px){#quickEnquiry textarea{height:96px!important;min-height:96px!important}#quickEnquiry input:not([type=file]){height:48px!important;padding:12px!important}.client-proof{padding-top:28px!important;padding-bottom:28px!important;margin-top:0!important}.enquiry-intro{margin:0!important}#quickEnquiry{margin-top:0!important}.commission-shell{gap:0!important}.home-craft+div{padding-top:22px!important}}
@media(max-width:760px){#commission{padding-top:32px!important;padding-bottom:32px!important;scroll-margin-top:72px}#quickEnquiry{padding-top:8px!important}.enquiry-intro{padding-bottom:12px!important}}

.piece-slider{position:relative;padding-inline:48px}.piece-slider .piece-track{margin-top:22px}.piece-slider .piece-arrows{position:absolute;top:calc((100vw - 160px)/3 * .625);left:0;right:0;justify-content:space-between;pointer-events:none}.piece-slider .piece-arrows button{pointer-events:auto}.piece-review{margin:12px 0 0;border:0;padding:0;font-size:16px;line-height:1.6}.piece-review p{margin:0 0 8px}.piece-review cite{font-size:15px;font-style:normal}.piece-card small{display:none}.piece-card span{font-size:17px}.viewer-count{display:none}.viewer-controls{position:absolute;top:45%;left:0;right:0;justify-content:space-between;padding:0 6px;pointer-events:none}.viewer-controls button{pointer-events:auto}.viewer-layout>div:first-child{position:relative;padding-inline:38px}.viewer-controls button:disabled{visibility:hidden}.viewer-copy .eyebrow{display:none}
.simple-process-intro{padding-block:40px 24px}.simple-process-intro h1{font-size:clamp(26px,3vw,38px);font-weight:400;margin:0 0 16px}.simple-process-intro p{max-width:620px;font-size:17px;line-height:1.6}.process-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;list-style:none;margin-block:0 48px}.process-four li{min-width:0}.process-four img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.process-four li:nth-child(3) img{object-position:center 65%}.process-four h2{font-size:21px;line-height:1.3;font-weight:500;margin:20px 0 12px}.process-four p{font-size:16px;line-height:1.65;margin:0}.simple-process-faq{max-width:850px;padding-block:20px 40px}.simple-process-faq h2,.process-contact h2{font-size:26px;font-weight:400}.simple-process-faq summary{font-size:17px;min-height:52px;padding-block:16px;cursor:pointer}.simple-process-faq details{border-bottom:1px solid #cbcfc6}.simple-process-faq p{font-size:16px;line-height:1.65}.process-contact{text-align:center;padding-block:36px 56px}.process-contact>div{display:flex;gap:12px;justify-content:center;margin-top:20px}.process-contact p{font-size:17px}.hallmark-section .eyebrow{display:none}
@media(min-width:1400px){.piece-slider .piece-arrows{top:250px}}
@media(max-width:760px){.piece-slider{padding-inline:27px}.piece-slider .piece-track{gap:12px;grid-auto-columns:calc((100% - 12px)/2)}.piece-slider .piece-arrows{top:calc((100vw - 106px) * .3125 + 22px)}.piece-slider .piece-arrows button{width:34px;height:44px;border-radius:0;font-size:22px}.piece-slider .piece-arrows button:first-child{transform:translateX(-8px)}.piece-slider .piece-arrows button:last-child{transform:translateX(8px)}.piece-review{font-size:15px;line-height:1.5}.piece-card span{font-size:16px}.piece-review cite{font-size:15px}.viewer-layout>div:first-child{padding-inline:25px}.viewer-controls{padding:0}.viewer-controls button{width:36px;height:44px;border-radius:0}.simple-process-intro{padding-top:28px;padding-bottom:12px}.simple-process-intro p{font-size:16px}.process-four{display:flex;flex-direction:column;gap:26px;margin-bottom:32px;padding-left:20px}.process-four li{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;align-items:center}.process-four img{aspect-ratio:4/5}.process-four h2{font-size:19px;margin:0 0 10px}.process-four p{font-size:15px;line-height:1.5}.simple-process-faq{padding-top:0}.process-contact .btn{flex:1}.client-proof .piece-heading h2{font-size:24px}.viewer-media img,.viewer-media video{height:40dvh}}
.piece-arrows button:disabled{opacity:.25;cursor:default}
