:root {
  --ink:#181513;
  --ivory:#F7F2EA;
  --espresso:#3B2A23;
  --porcelain:#FFFDFC;
  --champagne:#B69A68;
  --rosewood:#B89288;
  --oxblood:#5B2C33;
  --line:rgba(24,21,19,.14);
  --soft-line:rgba(24,21,19,.08);
  --serif:"Bodoni 72","Didot","Bodoni MT","Times New Roman",serif;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  --shadow:0 18px 60px rgba(24,21,19,.08);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
  margin:0;
  background:var(--porcelain);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
}

img { display:block; width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button, input { font:inherit; }

.announcement {
  min-height:28px;
  background:var(--ink);
  color:var(--ivory);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 18px;
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:9px;
}

.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:rgba(247,242,234,.96);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--soft-line);
}

.nav {
  height:105px;
  max-width:1440px;
  margin:auto;
  padding:0 5vw;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:28px;
}

.nav-left, .nav-right {
  display:flex;
  align-items:center;
  gap:30px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:10px;
}
.nav-right { justify-content:flex-end; }
.nav a { transition:opacity .2s ease; }
.nav a:hover { opacity:.55; }

.brand-lockup {
  width:min(310px,28vw);
  justify-self:center;
}

.icon-btn {
  border:0;
  padding:6px;
  background:transparent;
  cursor:pointer;
  color:var(--ink);
}
.icon {
  width:18px;
  height:18px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.45;
}

.hero {
  min-height:650px;
  display:grid;
  grid-template-columns:45% 55%;
  background:var(--ivory);
  overflow:hidden;
}
.hero-copy {
  display:flex;
  align-items:center;
  padding:74px clamp(35px,8vw,130px);
}
.eyebrow {
  font-size:10px;
  letter-spacing:.24em;
  text-transform:uppercase;
  margin-bottom:18px;
}
.hero h1 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(52px,6.2vw,96px);
  line-height:.98;
  letter-spacing:.005em;
  margin:0 0 24px;
  max-width:720px;
}
.hero p {
  max-width:480px;
  margin:0 0 32px;
  color:rgba(24,21,19,.72);
  font-family:var(--serif);
  font-size:20px;
  line-height:1.55;
}
.champagne-rule {
  width:145px;
  height:1px;
  background:var(--champagne);
  margin:25px 0;
  position:relative;
}
.champagne-rule:after {
  content:"";
  position:absolute;
  width:6px;height:6px;
  background:var(--champagne);
  transform:rotate(45deg);
  left:55%;
  top:-2.5px;
}

.btn {
  min-height:48px;
  padding:0 27px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  background:var(--ink);
  color:var(--porcelain);
  border:1px solid var(--ink);
  text-transform:uppercase;
  letter-spacing:.17em;
  font-size:10px;
  transition:.25s ease;
  cursor:pointer;
}
.btn:hover {
  background:var(--espresso);
  border-color:var(--espresso);
  transform:translateY(-1px);
}
.btn.light {
  background:var(--ivory);
  color:var(--ink);
  border-color:var(--ivory);
}

.hero-media {
  min-height:650px;
  background:var(--espresso);
}
.hero-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 29%;
}

.trust-row {
  background:var(--porcelain);
  border-top:1px solid var(--soft-line);
  border-bottom:1px solid var(--soft-line);
  display:grid;
  grid-template-columns:repeat(4,1fr);
}
.trust-item {
  padding:22px 18px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  border-right:1px solid var(--soft-line);
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.trust-item:last-child { border-right:0; }
.trust-mark { color:var(--champagne); font-size:18px; }

.section {
  padding:90px 5vw;
  max-width:1500px;
  margin:auto;
}

.section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:30px;
  margin-bottom:38px;
}
.section-head h2 {
  font-family:var(--serif);
  font-size:clamp(34px,4vw,56px);
  font-weight:400;
  margin:4px 0 0;
  line-height:1;
}
.text-link {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.17em;
  border-bottom:1px solid var(--champagne);
  padding-bottom:5px;
}

.products {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
}
.product-card {
  background:var(--ivory);
  border:1px solid var(--soft-line);
  transition:transform .25s ease, box-shadow .25s ease;
  overflow:hidden;
  position:relative;
}
.product-card:hover {
  transform:translateY(-4px);
  box-shadow:var(--shadow);
}
.product-visual {
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at 50% 42%, rgba(182,154,104,.14), transparent 24%),
    linear-gradient(145deg,#f2ece3,#fffdf9 58%,#ece4d8);
  position:relative;
}
.badge {
  position:absolute;
  top:12px;left:12px;
  font-size:8px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--porcelain);
  background:var(--champagne);
  padding:6px 9px;
}
.heart {
  position:absolute;
  top:6px;right:6px;
  z-index:2;
  border:0;
  background:transparent;
  cursor:pointer;
  line-height:1;
  padding:8px;
  font-size:18px;
  font-family:var(--serif);
  color:rgba(24,21,19,.6);
  transition:color .2s ease, transform .2s ease;
}
.heart:hover { color:var(--ink); transform:scale(1.12); }
.heart.saved { color:var(--oxblood); }

/* Stylised product silhouettes — intentionally abstract placeholders */
.jewel {
  width:130px;height:130px;
  position:relative;
  filter:drop-shadow(0 12px 10px rgba(59,42,35,.12));
}
.pendant:before {
  content:"";
  position:absolute;
  left:63px;top:7px;
  width:2px;height:75px;
  background:linear-gradient(var(--champagne),#d6b76f);
}
.pendant:after {
  content:"";
  position:absolute;
  left:48px;top:75px;
  width:32px;height:32px;
  border-radius:50%;
  border:8px double #c89c47;
  background:radial-gradient(circle,#fff 0 20%,#ddd 21% 44%,#fff 45% 58%,#b68d48 59%);
}

.earrings:before,.earrings:after {
  content:"";
  position:absolute;
  width:28px;height:54px;
  border:6px solid #c89c47;
  border-radius:50%;
  top:36px;
}
.earrings:before { left:26px; }
.earrings:after { right:26px; }

.ring:before {
  content:"";
  position:absolute;
  width:66px;height:66px;
  border:10px solid #c89c47;
  border-radius:50%;
  left:30px;top:45px;
  transform:rotate(-12deg);
}
.ring:after {
  content:"";
  position:absolute;
  width:31px;height:31px;
  background:radial-gradient(circle at 40% 35%,#fff 0 20%,#ddd 22% 48%,#fff 49% 60%,#b69a68 62%);
  clip-path:polygon(50% 0,90% 20%,100% 60%,50% 100%,0 60%,10% 20%);
  left:49px;top:28px;
}

.bracelet:before {
  content:"";
  position:absolute;
  width:98px;height:50px;
  border:5px solid #c89c47;
  border-radius:50%;
  left:15px;top:44px;
  transform:rotate(-11deg);
}
.bracelet:after {
  content:"";
  position:absolute;
  width:20px;height:20px;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0 24%,#ddd 26% 50%,#b69a68 52%);
  left:55px;top:58px;
}

.product-info {
  padding:16px 16px 20px;
  text-align:center;
  background:rgba(255,253,252,.72);
}
.product-link:after {
  content:"";
  position:absolute;
  inset:0;
}
.product-name {
  display:block;
  font-family:var(--serif);
  font-size:18px;
  margin-bottom:7px;
  letter-spacing:.03em;
}
.product-price {
  font-size:10px;
  letter-spacing:.14em;
}

.signature {
  background:var(--ink);
  color:var(--ivory);
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:760px;
  overflow:hidden;
}
.signature-copy {
  padding:clamp(58px,8vw,120px);
  display:flex;
  align-items:center;
}
.signature h2 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(52px,6vw,94px);
  line-height:.94;
  margin:0 0 24px;
}
.signature p {
  color:rgba(247,242,234,.74);
  max-width:500px;
  font-family:var(--serif);
  font-size:20px;
  line-height:1.6;
}
.signature .champagne-rule { margin:30px 0; }
.signature-media img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.editorial {
  display:grid;
  grid-template-columns:1.03fr .97fr;
  min-height:690px;
  background:var(--ivory);
}
.editorial-image img {
  width:100%;height:100%;
  object-fit:cover;
  object-position:center 25%;
}
.editorial-copy {
  display:flex;
  align-items:center;
  padding:clamp(50px,8vw,120px);
}
.editorial h2 {
  font-family:var(--serif);
  font-size:clamp(42px,5.2vw,75px);
  line-height:1;
  font-weight:400;
  margin:0 0 26px;
}
.editorial p {
  font-family:var(--serif);
  font-size:19px;
  line-height:1.65;
  color:rgba(24,21,19,.7);
  max-width:560px;
}

.gifting {
  background:var(--oxblood);
  color:var(--ivory);
  padding:65px 5vw;
}
.gifting-inner {
  max-width:1380px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:center;
  gap:60px;
}
.gifting h2 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(38px,4.8vw,70px);
  line-height:1;
  margin:0 0 18px;
}
.gifting p {
  color:rgba(247,242,234,.78);
  max-width:620px;
  line-height:1.7;
}
.gifting-actions { justify-self:end; }

.newsletter {
  padding:80px 5vw;
  background:var(--porcelain);
  border-bottom:1px solid var(--line);
  text-align:center;
}
.newsletter h2 {
  font-family:var(--serif);
  font-weight:400;
  font-size:42px;
  margin:0 0 12px;
}
.newsletter p {
  color:rgba(24,21,19,.65);
  margin:0 0 28px;
}
.newsletter-form {
  max-width:550px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr auto;
  border-bottom:1px solid var(--ink);
}
.newsletter-form input {
  min-height:50px;
  border:0;
  outline:0;
  background:transparent;
  padding:0 10px;
  font-family:var(--serif);
  font-size:16px;
}
.newsletter-form button {
  border:0;
  background:transparent;
  cursor:pointer;
  padding:0 12px;
  letter-spacing:.16em;
  font-size:10px;
  text-transform:uppercase;
}

footer {
  background:var(--ivory);
  padding:58px 5vw 26px;
}
.footer-grid {
  max-width:1450px;
  margin:auto;
  display:grid;
  grid-template-columns:1.4fr repeat(4,1fr);
  gap:45px;
  padding-bottom:42px;
}
.footer-logo { max-width:245px; margin-bottom:18px; }
.footer-note {
  max-width:280px;
  color:rgba(24,21,19,.64);
  font-family:var(--serif);
  line-height:1.6;
}
.footer-col h3 {
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:600;
  margin:0 0 20px;
}
.footer-col a {
  display:block;
  color:rgba(24,21,19,.68);
  margin:0 0 10px;
  font-size:12px;
}
.legal {
  border-top:1px solid var(--line);
  padding-top:24px;
  max-width:1450px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  gap:24px;
  flex-wrap:wrap;
  font-size:9px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(24,21,19,.6);
}

.mobile-menu {
  display:none;
  position:fixed;
  inset:133px 0 auto 0;
  z-index:29;
  background:var(--ivory);
  border-bottom:1px solid var(--line);
  padding:28px 6vw 32px;
  box-shadow:0 20px 40px rgba(24,21,19,.08);
}
.mobile-menu.open { display:block; }
.mobile-menu a {
  display:block;
  padding:15px 0;
  border-bottom:1px solid var(--soft-line);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:11px;
}
.menu-trigger { display:none; }

.toast {
  position:fixed;
  right:25px;
  bottom:25px;
  z-index:50;
  background:var(--ink);
  color:var(--ivory);
  padding:15px 18px;
  min-width:230px;
  box-shadow:0 16px 35px rgba(24,21,19,.2);
  transform:translateY(130px);
  opacity:0;
  transition:.25s ease;
  font-size:12px;
  letter-spacing:.05em;
}
.toast.show { transform:translateY(0); opacity:1; }

@media (max-width:1050px) {
  .nav-left a { display:none; }
  .menu-trigger { display:inline-flex; }
  .nav { grid-template-columns:1fr auto 1fr; height:90px; }
  .brand-lockup { width:min(285px,42vw); }
  .hero { grid-template-columns:1fr; }
  .hero-copy { min-height:530px; }
  .hero-media { min-height:630px; }
  .trust-row { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .products { grid-template-columns:repeat(2,1fr); }
  .signature, .editorial { grid-template-columns:1fr; }
  .signature-media, .editorial-image { min-height:700px; }
  .signature-media { order:-1; }
  .gifting-inner { grid-template-columns:1fr; }
  .gifting-actions { justify-self:start; }
  .footer-grid { grid-template-columns:2fr repeat(2,1fr); }
}

@media (max-width:680px) {
  .announcement { font-size:7.5px; letter-spacing:.16em; }
  .nav { padding:0 18px; height:82px; gap:10px; }
  .brand-lockup { width:190px; }
  .nav-right { gap:8px; }
  .nav-right .account, .nav-right .wishlist { display:none; }
  .mobile-menu { top:110px; }
  .hero-copy { padding:58px 24px; min-height:480px; }
  .hero h1 { font-size:53px; }
  .hero p { font-size:18px; }
  .hero-media { min-height:520px; }
  .trust-row { grid-template-columns:1fr 1fr; }
  .trust-item { font-size:7.5px; padding:18px 8px; gap:7px; }
  .section { padding:70px 18px; }
  .section-head { align-items:flex-start; flex-direction:column; }
  .products { gap:10px; }
  .product-name { font-size:15px; }
  .jewel { transform:scale(.78); }
  .signature-copy, .editorial-copy { padding:65px 25px; }
  .signature-media, .editorial-image { min-height:520px; }
  .gifting { padding:55px 22px; }
  .newsletter { padding:70px 22px; }
  .footer-grid { grid-template-columns:1fr 1fr; gap:32px 25px; }
  .footer-brand { grid-column:1/-1; }
}

/* ---------------------------------------------------------------
   Shared page furniture: skip link, focus states, breadcrumbs
   --------------------------------------------------------------- */

.skip-link {
  position:absolute;
  left:-9999px;
  top:0;
  z-index:60;
  background:var(--ink);
  color:var(--ivory);
  padding:12px 18px;
  font-size:10px;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.skip-link:focus {
  left:12px;
  top:12px;
}

:focus-visible {
  outline:2px solid var(--champagne);
  outline-offset:3px;
}

.count-bubble {
  position:absolute;
  top:0;
  right:0;
  min-width:15px;
  height:15px;
  padding:0 4px;
  border-radius:9px;
  background:var(--oxblood);
  color:var(--ivory);
  font-size:8px;
  letter-spacing:0;
  display:grid;
  place-items:center;
}
.count-bubble[hidden] { display:none; }
.icon-btn.wishlist {
  position:relative;
  display:inline-flex;
}

.breadcrumb {
  max-width:1500px;
  margin:auto;
  padding:26px 5vw 0;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  font-size:9px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(24,21,19,.6);
}
.breadcrumb a:hover { color:var(--ink); }
.breadcrumb [aria-current="page"] { color:var(--ink); }

.page-head {
  max-width:1500px;
  margin:auto;
  padding:44px 5vw 0;
}
.page-head h1 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(40px,5.2vw,74px);
  line-height:1;
  margin:0;
  max-width:16ch;
}
.page-head p {
  max-width:620px;
  margin:0;
  font-family:var(--serif);
  font-size:19px;
  line-height:1.6;
  color:rgba(24,21,19,.7);
}

/* ---------------------------------------------------------------
   Shop: filters and results
   --------------------------------------------------------------- */

.shop-section { padding-top:44px; }

.filter-bar {
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:26px;
  flex-wrap:wrap;
  padding-bottom:22px;
  border-bottom:1px solid var(--soft-line);
}
.chip-row {
  display:flex;
  gap:9px;
  flex-wrap:wrap;
}
.chip {
  border:1px solid var(--line);
  background:transparent;
  cursor:pointer;
  padding:10px 17px;
  font-size:9.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(24,21,19,.75);
  transition:.2s ease;
}
.chip:hover { border-color:var(--ink); color:var(--ink); }
.chip.active {
  background:var(--ink);
  border-color:var(--ink);
  color:var(--ivory);
}

.filter-controls {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.field {
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:165px;
}
.field-label {
  font-size:8.5px;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(24,21,19,.6);
}
.field input,
.field select,
.field textarea {
  border:0;
  border-bottom:1px solid var(--line);
  background:transparent;
  padding:8px 0;
  font-family:var(--serif);
  font-size:15px;
  color:var(--ink);
  border-radius:0;
}
.field select { cursor:pointer; }
.field input:focus,
.field select:focus,
.field textarea:focus {
  outline:0;
  border-bottom-color:var(--champagne);
}

.result-bar {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  flex-wrap:wrap;
  padding:20px 0 26px;
  font-size:9.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(24,21,19,.65);
}

.products.is-empty { display:block; }
.empty-state {
  border:1px solid var(--soft-line);
  background:var(--ivory);
  padding:70px 30px;
  text-align:center;
}
.empty-state h3,
.empty-state h1 {
  font-family:var(--serif);
  font-weight:400;
  font-size:32px;
  margin:0 0 12px;
}
.empty-state p {
  margin:0 0 26px;
  color:rgba(24,21,19,.65);
}

/* ---------------------------------------------------------------
   Product detail
   --------------------------------------------------------------- */

.product-detail {
  max-width:1500px;
  margin:auto;
  padding:40px 5vw 20px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(30px,5vw,80px);
  align-items:start;
}
.product-detail-visual {
  position:relative;
  aspect-ratio:1/1;
  display:grid;
  place-items:center;
  border:1px solid var(--soft-line);
  background:
    radial-gradient(circle at 50% 42%, rgba(182,154,104,.16), transparent 26%),
    linear-gradient(145deg,#f2ece3,#fffdf9 58%,#ece4d8);
}
.jewel-lg { transform:scale(1.9); }

.product-detail-copy { padding-top:12px; }
.product-detail-copy h1 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(38px,4.4vw,62px);
  line-height:1.02;
  margin:0 0 14px;
}
.product-detail-price {
  font-size:11px;
  letter-spacing:.18em;
  margin-bottom:22px;
}
.product-detail-blurb {
  font-family:var(--serif);
  font-size:20px;
  line-height:1.6;
  color:rgba(24,21,19,.78);
  margin:0;
  max-width:52ch;
}
.product-detail-story {
  line-height:1.8;
  color:rgba(24,21,19,.68);
  max-width:60ch;
  margin:0 0 34px;
}

.product-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:38px;
}
.btn.outline {
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}
.btn.outline:hover {
  background:transparent;
  border-color:var(--ink);
}
.btn.outline.saved {
  border-color:var(--oxblood);
  color:var(--oxblood);
}

.product-details,
.care-list {
  margin:0 0 30px;
  border-top:1px solid var(--soft-line);
}
.detail-row {
  display:grid;
  grid-template-columns:150px 1fr;
  gap:18px;
  padding:15px 0;
  border-bottom:1px solid var(--soft-line);
}
.detail-row dt {
  font-size:9px;
  letter-spacing:.17em;
  text-transform:uppercase;
  color:rgba(24,21,19,.6);
  padding-top:3px;
}
.detail-row dd {
  margin:0;
  line-height:1.65;
  color:rgba(24,21,19,.82);
}

.product-assurances {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:9px;
  font-size:11px;
  letter-spacing:.06em;
  color:rgba(24,21,19,.62);
}
.product-assurances li:before {
  content:"◇";
  color:var(--champagne);
  margin-right:9px;
}
.product-missing { margin:40px 5vw; }

/* ---------------------------------------------------------------
   Customer care
   --------------------------------------------------------------- */

.care-layout {
  max-width:1500px;
  margin:auto;
  padding:56px 5vw 20px;
  display:grid;
  grid-template-columns:230px 1fr;
  gap:clamp(30px,5vw,70px);
  align-items:start;
}
.care-nav {
  position:sticky;
  top:130px;
  display:grid;
  gap:2px;
  border-left:1px solid var(--soft-line);
}
.care-nav a {
  padding:11px 16px;
  font-size:9.5px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(24,21,19,.66);
  border-left:1px solid transparent;
  margin-left:-1px;
  transition:.2s ease;
}
.care-nav a:hover {
  color:var(--ink);
  border-left-color:var(--champagne);
}

.care-block {
  padding-bottom:44px;
  margin-bottom:44px;
  border-bottom:1px solid var(--soft-line);
  scroll-margin-top:130px;
}
.care-block:last-child {
  border-bottom:0;
  margin-bottom:0;
}
.care-block h2 {
  font-family:var(--serif);
  font-weight:400;
  font-size:clamp(28px,3.2vw,42px);
  margin:0 0 18px;
}
.care-block p {
  line-height:1.8;
  color:rgba(24,21,19,.72);
  max-width:66ch;
  margin:0 0 18px;
}
.care-bullets {
  margin:0 0 18px;
  padding:0;
  list-style:none;
  display:grid;
  gap:11px;
  max-width:66ch;
}
.care-bullets li {
  padding-left:22px;
  position:relative;
  line-height:1.7;
  color:rgba(24,21,19,.72);
}
.care-bullets li:before {
  content:"◇";
  position:absolute;
  left:0;
  color:var(--champagne);
}

.contact-form {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  max-width:620px;
  align-items:end;
}
.contact-form .field-wide { grid-column:1/-1; }
.contact-form textarea {
  resize:vertical;
  font-size:15px;
  line-height:1.6;
}
.contact-form .btn { justify-self:start; }

@media (max-width:1050px) {
  .product-detail { grid-template-columns:1fr; }
  .care-layout { grid-template-columns:1fr; }
  .care-nav {
    position:static;
    display:flex;
    flex-wrap:wrap;
    border-left:0;
    border-bottom:1px solid var(--soft-line);
    padding-bottom:14px;
  }
  .care-nav a { border-left:0; padding:9px 14px 9px 0; }
}

@media (max-width:680px) {
  .breadcrumb { padding:20px 18px 0; }
  .page-head { padding:30px 18px 0; }
  .filter-bar { align-items:flex-start; }
  .field { min-width:140px; flex:1; }
  .product-detail { padding:26px 18px 10px; }
  .jewel-lg { transform:scale(1.35); }
  .detail-row { grid-template-columns:1fr; gap:6px; }
  .care-layout { padding:36px 18px 10px; }
  .contact-form { grid-template-columns:1fr; }
}
