/* Editorial additions: original palette, typography, geometry and video panels. */
.editorial-title { font-family: var(--serif); font-weight: 400; }
.hero .editorial-title { font-size: clamp(62px,6.6vw,122px); letter-spacing: -.045em; line-height: .99; margin: 13px 0 20px; }
.hero { height: clamp(590px,44vw,840px); }
.hero-copy { padding-top: clamp(38px,4vw,77px); padding-bottom: 39px; }
.hero h1.seo-heading { font-family: var(--sans); font-weight: 500; font-size: clamp(16px,1.38vw,24px); letter-spacing: -.015em; line-height: 1.5; max-width: 475px; margin: 0 0 13px; text-wrap: pretty; }
.hero-description { font-size: clamp(13px,1.03vw,18px); line-height: 1.7; max-width: 460px; color: #686056; letter-spacing: 0; }
.hero-actions { margin-top: 23px; gap: 26px; }
.hero-actions .button { padding-inline: 23px; font-size: 12px; }
.hero-motto { padding-top: 25px; }
.hero .eyebrow { font-size: clamp(8px,.72vw,12px); letter-spacing: .2em; }
.trust-rail { padding: 23px var(--gutter); display: grid; grid-template-columns: repeat(4,1fr); text-align: center; gap: 16px; border-bottom: 1px solid var(--line); background: var(--paper); font-size: 10px; letter-spacing: .04em; }
.trust-rail a+a { border-left: 1px solid #d8cfc1; }
.trust-rail a:hover { color: var(--gold); }
.trust-rail span { color: #88704d; margin-left: 6px; }
.editorial-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 35px; margin-bottom: 38px; }
.editorial-section-heading h2,.client-experiences h2,.map-copy h2 { font-size: clamp(35px,3.5vw,62px); font-family: var(--serif); font-weight: 400; line-height: 1.13; letter-spacing: -.04em; margin-top: 12px; }
.editorial-section-heading>p { font-size: 12px; line-height: 1.9; color: #766c5f; max-width: 350px; }
.featured { background: var(--paper); border-top: 1px solid var(--line); }
.pieces-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 44px 24px; }
.pieces-grid.count-2 { grid-template-columns: repeat(2,minmax(0,1fr)); max-width: 960px; margin-inline: auto; }
.piece-card { min-width: 0; }
.piece-image { display: block; aspect-ratio: 1/1.06; overflow: hidden; background: #e8e2d9; }
.piece-image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.piece-image:hover img { transform: scale(1.025); }
.piece-card>.eyebrow { font-size: 8px; margin-top: 20px; color: #88785f; }
.piece-card h3 { font-family: var(--serif); font-size: clamp(25px,2.15vw,38px); font-weight: 400; margin: 9px 0 13px; letter-spacing: -.03em; }
.piece-card .text-link { font-size: 10px; }
.piece-watches-poster img { object-position: center 42%; }
.piece-handbags-poster img { object-position: center 42%; }
.assurance-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px; margin-top: 47px; }
.assurance-grid article { border-top: 1px solid #cabba4; padding-top: 25px; }
.assurance-number { font-family: var(--serif); font-size: 24px; color: #a08761; }
.assurance-grid h3 { font-size: clamp(25px,2.25vw,38px); line-height: 1.2; margin: 19px 0 15px; letter-spacing: -.035em; }
.assurance-grid p { font-size: 13px; line-height: 1.9; color: #706657; }
.assurance-grid .text-link { margin-top: 23px; font-size: 11px; }
.client-experiences { display: grid; grid-template-columns: 1.35fr 1fr; gap: 80px; background: #eeebe4; }
.client-experiences h2 { margin-bottom: 25px; }
.client-experiences>div>p:not(.eyebrow) { font-size: 14px; line-height: 1.9; max-width: 445px; color: #716655; }
.client-experiences .text-link { margin-top: 26px; font-size: 12px; }
.google-rating { border-left: 1px solid #d7cbb9; text-align: center; padding-left: 60px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.client-experiences .google-rating .rating-number { font-family: var(--serif); font-size: 93px; line-height: 1.2; color: var(--ink); letter-spacing: -.05em; margin-top: 12px; }
.rating-number span { font-family: var(--sans); font-size: 15px; letter-spacing: 0; color: #8a7c69; margin-left: 13px; }
.client-experiences .google-rating .rating-stars { color: #9c8053; letter-spacing: 5px; font-size: 17px; margin-bottom: 6px; }
.google-rating small { font-size: 9px; line-height: 1.9; color: #857866; margin-top: 13px; }
.boutique-map { display: grid; grid-template-columns: .95fr 1.2fr; gap: 70px; align-items: center; background: var(--paper); }
.map-copy>p:not(.eyebrow) { font-size: 13px; line-height: 1.9; color: #6d6252; max-width: 390px; margin: 20px 0; }
.map-copy .opening-hours { max-width: 365px; }
.map-copy .map-visit-note { font-size: 11px; }
.map-copy .text-link { font-size: 12px; }
.map-frame { height: 390px; background: #e9e4da; overflow: hidden; }
.map-frame iframe { width: 100%; height: 100%; border: 0; }
.home-journal .editorial-section-heading { padding-bottom: 0; }
.home-journal .journal-feature { margin-bottom: 80px; }
.home-journal .journal-feature h2 { font-family: var(--serif); font-weight: 400; }
.page-hero .editorial-title { font-size: clamp(50px,5.25vw,94px); letter-spacing: -.045em; line-height: 1.05; margin: 18px 0 20px; text-wrap: balance; }
.page-hero h1.seo-heading { font-family: var(--sans); font-size: clamp(14px,1.3vw,21px); line-height: 1.5; font-weight: 500; letter-spacing: -.015em; margin: 0 0 16px; text-wrap: pretty; max-width: 490px; }
.journal-heading>.editorial-title,.contact-heading>.editorial-title { font-size: clamp(50px,5vw,90px); line-height: 1.08; letter-spacing: -.04em; margin: 17px 0; }
.journal-heading h1.seo-heading,.contact-heading h1.seo-heading { font-family: var(--sans); font-size: 18px; font-weight: 500; line-height: 1.5; letter-spacing: -.015em; margin: 0 0 14px; }
.detail-copy .text-link+.text-link { margin-left: 22px; }
@media (min-width:761px) and (max-width:1100px) {
 .hero { height: 580px; }
 .hero-copy { width: 47%; padding-top: 42px; }
 .hero .editorial-title { font-size: clamp(57px,6.45vw,75px); }
 .hero h1.seo-heading { font-size: 16px; max-width: 340px; }
 .hero-description { font-size: 13px; max-width: 340px; }
 .hero-actions { gap: 17px; flex-wrap: wrap; }
 .trust-rail { padding-inline: 26px; font-size: 9px; }
 .trust-rail span { display: block; margin-top: 5px; }
 .assurance-grid { gap: 25px; }
 .boutique-map { gap: 35px; }
}
@media (max-width:760px) {
 .hero { height: auto; }
 .hero-copy { padding: 15px 26px 38px; }
 .hero .editorial-title { font-size: clamp(48px,15.5vw,96px); line-height: 1; letter-spacing: -.04em; margin: 13px 0 22px; }
 .hero h1.seo-heading { font-size: 16px; line-height: 1.6; margin-bottom: 14px; }
 .hero-description { font-size: 13px; line-height: 1.8; }
 .hero .eyebrow { font-size: 8px; }
 .hero-actions { gap: 23px; margin-top: 24px; }
 .hero-actions .button { font-size: 11px; padding-inline: 19px; }
 .trust-rail { grid-template-columns: 1fr 1fr; padding: 23px 20px; font-size: 9px; gap: 22px 12px; }
 .trust-rail a:nth-child(3) { border: 0; }
 .trust-rail a:nth-child(even) { padding-left: 10px; }
 .trust-rail span { margin-left: 4px; }
 .editorial-section-heading { display: block; margin-bottom: 27px; }
 .editorial-section-heading h2,.client-experiences h2,.map-copy h2 { font-size: 36px; }
 .editorial-section-heading>p { margin-top: 17px; font-size: 11px; }
 .editorial-section-heading>.text-link { margin-top: 20px; }
 .pieces-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 31px 15px; }
 .piece-image { aspect-ratio: 1/1.3; }
 .piece-card>.eyebrow { font-size: 7px; line-height: 1.6; letter-spacing: .12em; margin-top: 14px; }
 .piece-card h3 { font-size: 23px; line-height: 1.2; margin-bottom: 9px; }
 .piece-card .text-link { font-size: 9px; line-height: 1.5; gap: 5px; align-items: flex-end; }
 .piece-card .text-link svg { width: 13px; flex-shrink: 0; }
 .assurance-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 30px; }
 .assurance-grid h3 { font-size: 29px; margin-top: 14px; }
 .client-experiences { grid-template-columns: 1fr; gap: 34px; }
 .client-experiences>div>p:not(.eyebrow) { font-size: 13px; }
 .google-rating { padding: 30px 0 0; border-left: 0; border-top: 1px solid #d7cbb9; align-items: flex-start; text-align: left; }
 .client-experiences .google-rating .rating-number { font-size: 81px; }
 .boutique-map { grid-template-columns: 1fr; gap: 30px; }
 .map-frame { height: 300px; }
 .home-journal .journal-feature { margin-bottom: 50px; }
 .page-hero .editorial-title { font-size: clamp(43px,11.7vw,70px); margin: 15px 0 22px; }
 .page-hero h1.seo-heading { font-size: 15px; margin-bottom: 15px; }
 .journal-heading>.editorial-title,.contact-heading>.editorial-title { font-size: 52px; }
 .journal-heading h1.seo-heading,.contact-heading h1.seo-heading { font-size: 16px; }
 .detail-copy .text-link+.text-link { margin-left: 0; display: table; }
}
@media (prefers-reduced-motion: reduce) { .piece-image img { transition: none; } }
