/* Shared editorial page styles: About, News, Services, and Contact.
   About page banner — Our Stores template
   ========================================================= */
.about-page .about-banner-v1{
  position:relative;
  min-height:850px;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background:
    linear-gradient(112deg,rgba(4,12,31,.86) 0%,rgba(7,18,43,.66) 46%,rgba(7,16,36,.8) 100%),
    url('../images/components/products-showcase/products-hero.jpg') center 44%/cover;
}
.about-page .about-banner-v1::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 8% 18%,rgba(238,215,149,.95) 0 1.2px,transparent 2.8px),
    radial-gradient(circle at 16% 32%,rgba(238,215,149,.72) 0 1.1px,transparent 2.5px),
    radial-gradient(circle at 27% 12%,rgba(238,215,149,.8) 0 1.3px,transparent 2.7px),
    radial-gradient(circle at 41% 22%,rgba(238,215,149,.6) 0 1px,transparent 2.3px),
    radial-gradient(circle at 58% 14%,rgba(238,215,149,.82) 0 1.2px,transparent 2.7px),
    radial-gradient(circle at 73% 30%,rgba(238,215,149,.72) 0 1.3px,transparent 2.7px),
    radial-gradient(circle at 88% 17%,rgba(238,215,149,.9) 0 1.2px,transparent 2.8px),
    radial-gradient(circle at 93% 51%,rgba(238,215,149,.62) 0 1px,transparent 2.4px),
    radial-gradient(circle at 64% 72%,rgba(238,215,149,.56) 0 1px,transparent 2.3px),
    radial-gradient(circle at 34% 67%,rgba(238,215,149,.7) 0 1.1px,transparent 2.5px),
    radial-gradient(ellipse at 8% 25%,transparent 0 12%,rgba(230,207,154,.16) 12.15% 12.45%,transparent 12.75%),
    radial-gradient(ellipse at 8% 25%,transparent 0 20%,rgba(230,207,154,.1) 20.15% 20.4%,transparent 20.75%),
    radial-gradient(ellipse at 94% 12%,transparent 0 15%,rgba(230,207,154,.12) 15.15% 15.42%,transparent 15.8%),
    radial-gradient(ellipse at 94% 12%,transparent 0 23%,rgba(230,207,154,.08) 23.15% 23.42%,transparent 23.8%);
  opacity:.82;
}
.about-page .about-banner-v1::after{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(3,10,26,.1),rgba(4,12,31,.24) 72%,rgba(4,12,31,.52));
}
.about-page .about-banner-v1-inner{
  position:relative;
  z-index:2;
  width:min(100% - 112px,1300px);
  min-height:850px;
  margin:0 auto;
}
.about-page .about-banner-v1-composition{position:relative;min-height:850px}
.about-page .about-banner-v1-overline{
  position:absolute;
  left:0;
  top:118px;
  color:#d8bb78;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.22em;
  text-transform:uppercase;
  opacity:0;
}
.about-page .about-banner-v1-title{
  position:absolute;
  left:50%;
  top:148px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  margin:0;
  color:#fff;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(4.25rem,7.1vw,7.3rem);
  font-weight:600;
  line-height:.78;
  letter-spacing:-.035em;
  white-space:nowrap;
  opacity:0;
  transform:translate(-50%,-78px);
}
.about-page .about-banner-v1-title-primary{display:block;color:#fff;font-style:normal}
.about-page .about-banner-v1-title-secondary{
  display:block;
  margin-left:.07em;
  color:#e6cf9a;
  font-size:.64em;
  font-weight:500;
  font-style:italic;
  line-height:1.04;
  opacity:0;
  transform:translateX(-20px);
}

/* Keep the long editorial lockup inside the banner with breathing room on
   the right, especially for the longer Services and Contact titles. */
@media(min-width:761px){
  .about-page .about-banner-v1-title{
    left:clamp(0px,7vw,110px);
    right:clamp(18px,4vw,72px);
    max-width:calc(100% - clamp(18px,4vw,72px));
    transform:translateY(-78px);
  }
}
@media(max-width:760px){
  .about-page .about-banner-v1-title{
    left:0;
    right:12px;
    max-width:calc(100% - 12px);
    transform:translateY(-78px);
    font-size:clamp(2.8rem,14vw,4.4rem);
  }
}
.about-page .about-banner-v1-description{
  position:absolute;
  left:0;
  top:354px;
  max-width:610px;
  margin:0;
  color:#d9deea;
  font-size:1.08rem;
  line-height:1.55;
  opacity:0;
  transform:translateY(16px);
}
.about-page .about-banner-v1-line-v,
.about-page .about-banner-v1-line-h{
  position:absolute;
  display:block;
  left:0;
  background:#e6cf9a;
  box-shadow:0 0 8px rgba(230,207,154,.28);
}
.about-page .about-banner-v1-line-v{
  top:482px;
  width:2px;
  height:0;
  opacity:0;
}
.about-page .about-banner-v1-line-h{
  top:517px;
  left:0;
  width:0;
  height:2px;
  opacity:0;
}
.about-page .about-banner-v1-values{
  position:absolute;
  left:0;
  right:0;
  top:592px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
}
.about-page .about-banner-v1-card{
  position:relative;
  min-height:224px;
  padding:26px 22px 24px;
  border:1px solid rgba(230,207,154,.38);
  border-radius:20px;
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.055));
  box-shadow:0 18px 48px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.1);
  text-align:center;
  opacity:0;
  transform:translateY(26px);
}
.about-page .about-banner-v1-card::after{
  content:'';
  position:absolute;
  inset:-1px;
  z-index:3;
  border:1px solid rgba(255,251,220,.92);
  border-radius:inherit;
  box-shadow:0 0 0 rgba(255,248,202,0);
  opacity:0;
  pointer-events:none;
}
.about-page .about-banner-v1-card:nth-child(1){--about-card-delay:2.45s}
.about-page .about-banner-v1-card:nth-child(2){--about-card-delay:2.61s}
.about-page .about-banner-v1-card:nth-child(3){--about-card-delay:2.77s}
.about-page .about-banner-v1-card:nth-child(4){--about-card-delay:2.93s}
.about-page .about-banner-v1-card-letter{
  width:78px;
  height:78px;
  margin:0 auto 18px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#10224a;
  background:linear-gradient(145deg,#fff1c7,#e6c56f 58%,#a6792b);
  font-family:'Cormorant Garamond',serif;
  font-size:2.9rem;
  line-height:1;
  box-shadow:0 0 0 8px rgba(230,207,154,.09),0 0 30px rgba(230,207,154,.3);
}
.about-page .about-banner-v1-card h2{
  margin:0 0 10px;
  color:#fff;
  font-family:inherit;
  font-size:1.15rem;
  font-weight:700;
}
.about-page .about-banner-v1-card p{margin:0;color:rgba(231,235,243,.76);font-size:.9rem;line-height:1.45}

/* About banner v2: a focused brand introduction. The legacy card rules above
   remain available to the shared Services/Contact banner, while About uses a
   simpler editorial lockup and verified-neutral highlights. */
.about-page .about-banner-v1-overline{
  opacity:1;
  transform:none;
  top:15%;
  color:#e6cf9a;
}
.about-page .about-banner-v1-title{
  opacity:1;
  transform:none;
  top:22%;
  left:0;
  right:auto;
  max-width:760px;
  white-space:normal;
  font-size:clamp(4rem,7vw,7rem);
  line-height:.86;
}
.about-page .about-banner-v1-title-secondary{
  opacity:1;
  transform:none;
  margin-top:.12em;
  font-size:.58em;
  line-height:1;
}
.about-page .about-banner-v1-description{
  opacity:1;
  transform:none;
  top:50%;
  max-width:520px;
  font-size:1.05rem;
}
.about-page .about-banner-v1-cta{
  opacity:1;
  transform:none;
  top:67%;
  min-width:230px;
  justify-content:space-between;
  gap:18px;
}
.about-page .about-banner-v1-cta span{font-size:1.1rem;line-height:1}
.about-page .about-banner-v1-stats{
  position:absolute;
  z-index:3;
  left:0;
  right:0;
  bottom:7%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  max-width:760px;
  border-top:1px solid rgba(230,207,154,.42);
  border-bottom:1px solid rgba(230,207,154,.24);
}
.about-page .about-banner-v1-stat{
  min-height:88px;
  padding:19px 24px 17px 0;
  border-right:1px solid rgba(230,207,154,.24);
}
.about-page .about-banner-v1-stat:not(:first-child){padding-left:24px}
.about-page .about-banner-v1-stat:last-child{border-right:0}
.about-page .about-banner-v1-stat strong{
  display:block;
  color:#e6cf9a;
  font-family:'Cormorant Garamond',serif;
  font-size:1.8rem;
  font-weight:500;
  line-height:1;
}
.about-page .about-banner-v1-stat span{
  display:block;
  margin-top:8px;
  color:rgba(231,235,243,.78);
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
@media(max-width:760px){
  .about-page .about-banner-v1{min-height:690px}
  .about-page .about-banner-v1-inner,
  .about-page .about-banner-v1-composition{min-height:690px}
  .about-page .about-banner-v1-overline{top:72px}
  .about-page .about-banner-v1-title{top:112px;font-size:clamp(3.4rem,15vw,5.7rem);line-height:.84}
  .about-page .about-banner-v1-description{top:285px;font-size:.98rem;max-width:470px;line-height:1.5}
  .about-page .about-banner-v1-cta{top:410px}
  .about-page .about-banner-v1-stats{bottom:34px;max-width:none}
  .about-page .about-banner-v1-stat{min-height:76px;padding:15px 12px 13px 0}
  .about-page .about-banner-v1-stat:not(:first-child){padding-left:12px}
  .about-page .about-banner-v1-stat strong{font-size:1.45rem}
  .about-page .about-banner-v1-stat span{font-size:.58rem;line-height:1.3}
}
@media(max-width:460px){
  .about-page .about-banner-v1{min-height:760px}
  .about-page .about-banner-v1-inner,
  .about-page .about-banner-v1-composition{min-height:760px}
  .about-page .about-banner-v1-title{top:110px;font-size:clamp(3rem,15vw,4.4rem)}
  .about-page .about-banner-v1-description{top:272px}
  .about-page .about-banner-v1-cta{top:414px}
  .about-page .about-banner-v1-stats{bottom:28px}
  .about-page .about-banner-v1-stat{min-height:84px;padding-top:14px}
  .about-page .about-banner-v1-stat strong{font-size:1.28rem}
  .about-page .about-banner-v1-stat span{font-size:.54rem;letter-spacing:.04em}
}

/* Services content images: preserve the complete staff-managed artwork. */
.services-page .corporate-showcase-main-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  max-height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#eee3d5!important;
}
.services-page .corporate-showcase-inner{
  grid-template-columns:minmax(430px,.82fr) minmax(760px,1.18fr)!important;
}
.services-page .corporate-showcase-art{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  place-items:center!important;
}
.services-page .corporate-showcase-product{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(100%,760px)!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1 / 1!important;
  align-self:center!important;
  inset:auto!important;
  margin:auto!important;
  overflow:hidden!important;
  background:#eee3d5!important;
}
@media(max-width:760px){
  .services-page .corporate-showcase-inner{
    display:flex!important;
    flex-direction:column!important;
    grid-template-columns:none!important;
  }
  .services-page .corporate-showcase-art{width:100%!important;}
  .services-page .corporate-showcase-product{
    grid-column:1 / -1!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
  }
}
.services-page .corporate-showcase-cta{
  margin-top:clamp(32px,4vw,58px)!important;
}
.services-page .services-grid .service-card>img,
.services-page main>.section .service-card>img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:210 / 297!important;
  max-width:100%!important;
  max-height:100%!important;
  display:block!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#fff!important;
}
.services-page .services-hero-v2-carousel-track img{
  object-fit:contain!important;
  object-position:center!important;
  background:#102846!important;
}


@media(max-width:760px){
  .about-page .about-banner-v1{min-height:930px}
  .about-page .about-banner-v1-inner,
.about-page .about-banner-v1-composition{min-height:930px}
  .about-page .about-banner-v1-inner{width:min(100% - 40px,560px)}
  .about-page .about-banner-v1-overline{top:84px}
  .about-page .about-banner-v1-title{top:112px;font-size:clamp(3.65rem,15vw,5.7rem);line-height:.8}
  .about-page .about-banner-v1-description{top:290px;font-size:1rem;max-width:100%}
  .about-page .about-banner-v1-line-v{top:408px}
  .about-page .about-banner-v1-line-h{top:466px}
  .about-page .about-banner-v1-values{top:520px;grid-template-columns:1fr 1fr;gap:14px}
  .about-page .about-banner-v1-card{min-height:196px;padding:22px 14px 20px;border-radius:16px}
  .about-page .about-banner-v1-card-letter{width:62px;height:62px;font-size:2.35rem;margin-bottom:12px}
  .about-page .about-banner-v1-card h2{font-size:1rem}
  .about-page .about-banner-v1-card p{font-size:.82rem}
}
@media(max-width:460px){
  .about-page .about-banner-v1{min-height:1110px}
  .about-page .about-banner-v1-inner,
.about-page .about-banner-v1-composition{min-height:1110px}
  .about-page .about-banner-v1-title{font-size:clamp(3rem,15vw,4.4rem)}
  .about-page .about-banner-v1-description{top:276px}
  .about-page .about-banner-v1-line-v{top:408px}
  .about-page .about-banner-v1-line-h{top:466px}
  .about-page .about-banner-v1-values{top:520px;grid-template-columns:1fr}
  .about-page .about-banner-v1-card{min-height:178px}
}
@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-overline,
.about-page .about-banner-v1-title,
.about-page .about-banner-v1-title-secondary,
.about-page .about-banner-v1-description,
.about-page .about-banner-v1-line-v,
.about-page .about-banner-v1-line-h,
.about-page .about-banner-v1-card{opacity:1;transform:none}
  .about-page .about-banner-v1-card::after{opacity:0}
  .about-page .about-banner-v1-line-v{height:36px}
  .about-page .about-banner-v1-line-h{width:100%}
}

/* Match the About composition to the finished Our Stores reference geometry. */
@media(min-width:761px){
  .about-page .about-banner-v1,
.about-page .about-banner-v1-inner,
.about-page .about-banner-v1-composition{
    height:calc(100svh - var(--gf-topbar-height,34px) - var(--gf-header-height,82px));
    min-height:0;
  }
  .about-page .about-banner-v1-inner{width:100%;margin:0}
  .about-page .about-banner-v1-composition{width:min(1550px,calc(100% - 128px));margin:0 auto}
  .about-page .about-banner-v1-overline{top:17.5%}
  .about-page .about-banner-v1-title{top:21.5%}
  .about-page .about-banner-v1-description{top:44%}
  .about-page .about-banner-v1-line-v{top:62%}
  .about-page .about-banner-v1-line-h{top:66%}
  .about-page .about-banner-v1-values{top:72%}
  .about-page .about-banner-v1-card{
    height:clamp(150px,24vh,224px);
    min-height:0;
    padding:clamp(16px,2.6vh,26px) clamp(14px,1.4vw,22px) clamp(15px,2.4vh,24px);
  }
}

/* About CTA mirrors the finished Our Stores button. */
.about-page .about-banner-v1-cta{
  position:absolute;
  z-index:3;
  left:0;
  top:clamp(390px,53%,522px);
  min-width:220px;
  min-height:49px;
  padding:16px 30px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  font-size:.8rem;
  font-weight:700;
  letter-spacing:.01em;
  opacity:0;
  transform:translateY(14px);
}
@media(max-width:760px){
  .about-page .about-banner-v1-cta{top:332px;min-width:190px;min-height:46px;padding:14px 24px;font-size:.72rem}
}
@media(max-width:460px){
  .about-page .about-banner-v1-cta{top:332px}
}
@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-cta{opacity:1;transform:none}
}

/* Reuse the Stores particle field and ring motifs for a shared page language. */
.about-page .about-banner-v1::before{
  opacity:.58;
  background:
    radial-gradient(circle at 7% 28%,rgba(239,217,149,.78) 0 1.4px,transparent 2.8px),
    radial-gradient(circle at 18% 12%,rgba(239,217,149,.92) 0 1.8px,transparent 3.2px),
    radial-gradient(circle at 29% 48%,rgba(239,217,149,.62) 0 1.3px,transparent 2.8px),
    radial-gradient(circle at 42% 18%,rgba(239,217,149,.72) 0 1.5px,transparent 3px),
    radial-gradient(circle at 53% 64%,rgba(239,217,149,.56) 0 1.2px,transparent 2.6px),
    radial-gradient(circle at 64% 30%,rgba(239,217,149,.86) 0 1.7px,transparent 3.1px),
    radial-gradient(circle at 76% 55%,rgba(239,217,149,.66) 0 1.3px,transparent 2.8px),
    radial-gradient(circle at 85% 18%,rgba(239,217,149,.82) 0 1.6px,transparent 3px),
    radial-gradient(circle at 94% 42%,rgba(239,217,149,.72) 0 1.4px,transparent 2.8px),
    radial-gradient(circle at 97% 76%,rgba(239,217,149,.5) 0 1.1px,transparent 2.4px),
    radial-gradient(ellipse at 84% 16%,transparent 0 13%,rgba(239,217,149,.14) 13.15% 13.4%,transparent 13.65%),
    radial-gradient(ellipse at 84% 16%,transparent 0 20%,rgba(239,217,149,.09) 20.15% 20.45%,transparent 20.75%);
}
.about-page .about-banner-v1-composition::before,
.about-page .about-banner-v1-composition::after{
  content:'';
  position:absolute;
  z-index:1;
  pointer-events:none;
  background:transparent;
  border:1px solid rgba(239,217,149,.18);
  border-radius:50%;
  opacity:.9;
}
.about-page .about-banner-v1-composition::before{
  width:330px;
  height:330px;
  right:-145px;
  top:34px;
  box-shadow:0 0 0 38px rgba(239,217,149,.055),0 0 0 76px rgba(239,217,149,.035);
}
.about-page .about-banner-v1-composition::after{
  width:230px;
  height:230px;
  left:-155px;
  bottom:-106px;
  box-shadow:0 0 0 28px rgba(239,217,149,.045),0 0 0 56px rgba(239,217,149,.028);
}
@media(max-width:760px){
  .about-page .about-banner-v1-composition::before{width:230px;height:230px;right:-120px;top:22px}
  .about-page .about-banner-v1-composition::after{width:170px;height:170px;left:-110px;bottom:-70px}
}

/* Recommendation card mirrors the Stores right-side card. */
.about-page .about-banner-v1-recommendation{
  position:absolute;
  z-index:4;
  top:212px;
  right:0;
  width:250px;
  box-sizing:border-box;
  padding:16px 18px 15px;
  border:1px solid rgba(230,207,154,.34);
  border-radius:18px;
  background:rgba(8,19,44,.72);
  box-shadow:0 18px 42px rgba(0,0,0,.2);
  color:#fff;
  opacity:0;
  transform:translateY(12px) scale(.98);
}
.about-page .about-banner-v1-recommendation::after{
  content:'';
  position:absolute;
  inset:-1px;
  z-index:5;
  border:1px solid rgba(255,251,220,.92);
  border-radius:inherit;
  box-shadow:0 0 0 rgba(255,248,202,0);
  opacity:0;
  pointer-events:none;
}
.about-page .about-banner-v1-recommendation-kicker{
  display:block;
  color:var(--gold2);
  font-family:Arial,sans-serif;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.17em;
  line-height:1.25;
  text-transform:uppercase;
}
.about-page .about-banner-v1-recommendation strong{
  display:block;
  margin:6px 0 0;
  color:#f7f4ed;
  font-family:'Cormorant Garamond',serif;
  font-size:1.55rem;
  font-weight:600;
  line-height:1;
}
.about-page .about-banner-v1-recommendation p{
  margin:9px 0 0;
  color:#cbd3e2;
  font-family:Arial,sans-serif;
  font-size:.7rem;
  line-height:1.4;
}
.about-page .about-banner-v1-recommendation-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.14);
  color:var(--gold2);
  font-family:Arial,sans-serif;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.15;
  text-transform:uppercase;
}
.about-page .about-banner-v1-recommendation-link b{font-size:.9rem;font-weight:400;line-height:1}
@media(max-width:760px){
  .about-page .about-banner-v1-recommendation{top:150px;right:0;width:min(208px,38vw);padding:14px 15px 13px;border-radius:15px}
  .about-page .about-banner-v1-recommendation strong{font-size:1.3rem}
  .about-page .about-banner-v1-recommendation p{font-size:.63rem}
  .about-page .about-banner-v1-recommendation-link{font-size:.5rem}
}
@media(max-width:460px){
  .about-page .about-banner-v1-recommendation{top:148px;right:0;width:176px;padding:12px 13px 12px}
  .about-page .about-banner-v1-recommendation-kicker{font-size:.48rem}
  .about-page .about-banner-v1-recommendation strong{font-size:1.15rem}
  .about-page .about-banner-v1-recommendation p{margin-top:7px;font-size:.58rem}
  .about-page .about-banner-v1-recommendation-link{margin-top:9px;padding-top:8px;font-size:.43rem}
}
@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-recommendation{opacity:1;transform:none}
  .about-page .about-banner-v1-recommendation::after{opacity:0}
}

/* Faster About intro cadence while preserving the same reveal order. */
.about-page .about-banner-v1-overline
.about-page .about-banner-v1-title
.about-page .about-banner-v1-title-secondary
.about-page .about-banner-v1-description
.about-page .about-banner-v1-cta
.about-page .about-banner-v1-line-v
.about-page .about-banner-v1-line-h
.about-page .about-banner-v1-recommendation
.about-page .about-banner-v1-recommendation::after
.about-page .about-banner-v1-card
.about-page .about-banner-v1-card::after
.about-page .about-banner-v1-card:nth-child(1){--about-card-delay:1.95s}
.about-page .about-banner-v1-card:nth-child(2){--about-card-delay:2.08s}
.about-page .about-banner-v1-card:nth-child(3){--about-card-delay:2.21s}
.about-page .about-banner-v1-card:nth-child(4){--about-card-delay:2.34s}
.about-page .about-banner-v1::before{opacity:.72}
.about-page .about-banner-v1-composition::before,
.about-page .about-banner-v1-composition::after{opacity:1;border-color:rgba(239,217,149,.25)}
.about-page .about-banner-v1-composition::before{box-shadow:0 0 0 38px rgba(239,217,149,.08),0 0 0 76px rgba(239,217,149,.052)}
.about-page .about-banner-v1-composition::after{box-shadow:0 0 0 28px rgba(239,217,149,.065),0 0 0 56px rgba(239,217,149,.042)}
.about-page .about-banner-v1::after{z-index:0!important}
.about-page .about-banner-v1::before{z-index:1!important}
.about-page .about-banner-v1-inner{z-index:3!important}
.about-page .about-banner-v1-inner::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.9;
  background:
    radial-gradient(circle at 4% 15%,rgba(255,236,168,.95) 0 1.8px,transparent 4px),
    radial-gradient(circle at 13% 38%,rgba(255,236,168,.82) 0 1.5px,transparent 3.6px),
    radial-gradient(circle at 23% 10%,rgba(255,236,168,.9) 0 1.8px,transparent 4px),
    radial-gradient(circle at 32% 30%,rgba(255,236,168,.8) 0 1.5px,transparent 3.6px),
    radial-gradient(circle at 42% 16%,rgba(255,236,168,.92) 0 1.7px,transparent 4px),
    radial-gradient(circle at 52% 44%,rgba(255,236,168,.78) 0 1.5px,transparent 3.5px),
    radial-gradient(circle at 62% 20%,rgba(255,236,168,.9) 0 1.8px,transparent 4px),
    radial-gradient(circle at 71% 52%,rgba(255,236,168,.82) 0 1.5px,transparent 3.6px),
    radial-gradient(circle at 82% 24%,rgba(255,236,168,.96) 0 1.8px,transparent 4px),
    radial-gradient(circle at 93% 40%,rgba(255,236,168,.82) 0 1.5px,transparent 3.6px),
    radial-gradient(circle at 18% 72%,rgba(255,236,168,.74) 0 1.4px,transparent 3.4px),
    radial-gradient(circle at 37% 84%,rgba(255,236,168,.82) 0 1.5px,transparent 3.6px),
    radial-gradient(circle at 58% 76%,rgba(255,236,168,.7) 0 1.3px,transparent 3.2px),
    radial-gradient(circle at 78% 86%,rgba(255,236,168,.86) 0 1.6px,transparent 3.8px),
    radial-gradient(circle at 96% 72%,rgba(255,236,168,.74) 0 1.4px,transparent 3.4px);
}
@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-overline,
.about-page .about-banner-v1-title,
.about-page .about-banner-v1-title-secondary,
.about-page .about-banner-v1-description,
.about-page .about-banner-v1-cta,
.about-page .about-banner-v1-line-v,
.about-page .about-banner-v1-line-h,
.about-page .about-banner-v1-recommendation,
.about-page .about-banner-v1-card{opacity:1!important;transform:none!important}
.about-page .about-banner-v1-card::after,
.about-page .about-banner-v1-recommendation::after{opacity:0!important}
}

/* Label above the About L-line,
matching the Stores total-outlets label. */
.about-page .about-banner-v1-total-label{
  position:absolute;
  z-index:4;
  left:0;
  top:595px;
  color:var(--gold2);
  font-family:Montserrat,Arial,sans-serif;
  font-size:.65rem!important;
  font-weight:700;
  letter-spacing:.19em!important;
  line-height:1.2;
  text-transform:uppercase;
  opacity:0;
  transform:translateY(6px);
}
@media(max-width:760px){
  .about-page .about-banner-v1-total-label{top:445px}
}
@media(max-width:460px){
  .about-page .about-banner-v1-total-label{top:445px}
}
@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-total-label{opacity:1;transform:none}
}

/* Keep each editorial section label in its own row above the four cards. */
.about-page .about-banner-v1-total-label{
  top:560px!important;
  z-index:10!important;
}
@media(max-width:760px){
  .about-page .about-banner-v1-total-label{top:490px!important}
}
@media(max-width:460px){
  .about-page .about-banner-v1-total-label{top:490px!important}
}

/* Give the shared banner label and cards a calmer vertical rhythm. The label
   sits clearly above the cards, while the taller banner leaves room beneath
   the final row instead of ending immediately at the card edge. */
.about-page .about-banner-v1-total-label{
  top:calc(72% - 58px)!important;
}
@media(min-width:761px){
  .about-page .about-banner-v1,
  .about-page .about-banner-v1-inner,
  .about-page .about-banner-v1-composition{
    height:calc(100svh - var(--gf-topbar-height,34px) - var(--gf-header-height,82px) + 48px);
  }
}
@media(max-width:760px){
  .about-page .about-banner-v1,
  .about-page .about-banner-v1-inner,
  .about-page .about-banner-v1-composition{
    min-height:970px;
  }
  .about-page .about-banner-v1-total-label{top:458px!important}
}
@media(max-width:460px){
  .about-page .about-banner-v1,
  .about-page .about-banner-v1-inner,
  .about-page .about-banner-v1-composition{
    min-height:1320px;
  }
  .about-page .about-banner-v1-total-label{top:458px!important}
}

/* =========================================================
   SERVICES PAGE
   ========================================================= */
/* Services uses the same banner system with its own consultation imagery. */
.services-page .about-banner-v1{
  background:
    linear-gradient(112deg,rgba(4,12,31,.86) 0%,rgba(7,18,43,.66) 46%,rgba(7,16,36,.8) 100%),
    url('../images/components/services-scroll/defaults/services-corporate-red-display.webp') center 42%/cover;
}
.services-page .about-banner-v1-card{
  min-height:clamp(150px,24vh,250px);
  height:clamp(150px,24vh,250px);
  padding:24px 20px 22px;
  box-sizing:border-box;
}
.services-page .about-banner-v1-card h2{font-size:1.05rem}
.services-page .about-banner-v1-card p{font-size:.82rem;line-height:1.38}
@media(min-width:761px){
  .services-page .about-banner-v1-cta{top:clamp(390px,53%,522px)}
}
@media(max-width:760px){
.services-page .about-banner-v1-cta{top:350px}
}

/* =========================================================
   CONTACT PAGE BANNER
   ========================================================= */
/* Contact uses the shared banner with a calm jewellery backdrop. */
.contact-page .about-banner-v1{
  background:
    linear-gradient(112deg,rgba(4,12,31,.86) 0%,rgba(7,18,43,.66) 46%,rgba(7,16,36,.8) 100%),
    url('../images/components/products-showcase/products-hero.jpg') center 44%/cover;
}
.contact-page .about-banner-v1-card p{font-size:.84rem;line-height:1.4}

/* Shared gold-line glint for About and Services. */
.about-page .about-banner-v1-line-h{overflow:visible}
.about-page .about-banner-v1-line-h::before{
  content:'';
  position:absolute;
  z-index:2;
  left:0;
  top:-4px;
  width:18%;
  height:9px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent 0%,rgba(255,250,214,.3) 25%,rgba(255,251,220,1) 50%,rgba(255,250,214,.3) 75%,transparent 100%);
  filter:blur(1px);
  opacity:0;
  pointer-events:none;
  transform:translateX(-115%);
}
.about-page .about-banner-v1-recommendation{
  display:block;
  text-decoration:none;
  cursor:pointer;
}
.about-page .about-banner-v1-recommendation:focus-visible{
  color:#fff;
  border-color:rgba(230,207,154,.7);
  box-shadow:0 20px 48px rgba(0,0,0,.3),0 0 20px rgba(230,207,154,.18);
  transform:translateY(-3px) scale(1.01);
  outline:none;
}
.about-page .about-banner-v1-recommendation{overflow:hidden}
.about-page .about-banner-v1-recommendation::before{
  content:'';
  position:absolute;
  z-index:4;
  top:-30%;
  bottom:-30%;
  left:0;
  width:24%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,251,220,.08) 28%,rgba(255,251,220,.82) 50%,rgba(255,251,220,.08) 72%,transparent 100%);
  filter:blur(1px);
  opacity:0;
  pointer-events:none;
  transform:translateX(-240%) skewX(-18deg);
}

@media(prefers-reduced-motion:reduce){
  .about-page .about-banner-v1-recommendation::before{opacity:0}
}

/* Our Stores recommendation card uses the same physical-button and sweep treatment. */
.locations-page .stores-v4-recommendation{
  display:block;
  text-decoration:none;
  cursor:pointer;
  overflow:hidden;
}
.locations-page .stores-v4-recommendation:focus-visible{
  color:#fff;
  border-color:rgba(230,207,154,.7);
  box-shadow:0 20px 48px rgba(0,0,0,.3),0 0 20px rgba(230,207,154,.18);
  transform:translateY(-3px) scale(1.01);
  outline:none;
}
.locations-page .stores-v4-recommendation::before{
  content:'';
  position:absolute;
  z-index:4;
  top:-30%;
  bottom:-30%;
  left:0;
  width:24%;
  background:linear-gradient(105deg,transparent 0%,rgba(255,251,220,.08) 28%,rgba(255,251,220,.82) 50%,rgba(255,251,220,.08) 72%,transparent 100%);
  filter:blur(1px);
  opacity:0;
  pointer-events:none;
  transform:translateX(-240%) skewX(-18deg);
}
@media(prefers-reduced-motion:reduce){
  .locations-page .stores-v4-recommendation::before{opacity:0}
}

/* Let the recommendation pulse bloom beyond its border like the larger cards. */
.about-page .about-banner-v1-recommendation,
.locations-page .stores-v4-recommendation{overflow:visible}
.about-page .about-banner-v1-card::after,
.about-page .about-banner-v1-recommendation::after{opacity:0}
.about-page .about-banner-v1-recommendation,
.locations-page .stores-v4-recommendation{overflow:hidden}

/* Soft downward navy gradient shadow beneath each title word. */
.locations-page .stores-v4-title-primary,
.locations-page .stores-v4-title-secondary,
.about-page .about-banner-v1-title-primary,
.about-page .about-banner-v1-title-secondary{
  text-shadow:
    0 7px 12px rgba(2,10,28,.34),
    0 18px 24px rgba(2,10,28,.22),
    0 30px 34px rgba(2,10,28,.12);
}

/* Keep the reflection contained,
but let the pulse bloom outside the card. */
.about-page .about-banner-v1-recommendation,
.locations-page .stores-v4-recommendation{overflow:visible}
.about-page .about-banner-v1-recommendation::before,
.locations-page .stores-v4-recommendation::before{
  top:0;
  right:0;
  bottom:0;
  left:0;
  width:auto;
  height:auto;
  transform:none;
  background:linear-gradient(105deg,transparent 0%,transparent 42%,rgba(255,251,220,.08) 46%,rgba(255,251,220,.82) 50%,rgba(255,251,220,.08) 54%,transparent 58%,transparent 100%) 0 0/180% 100% no-repeat;
}
.about-page .about-banner-v1::before{
  opacity:.72;
}
.about-page .about-banner-v1-composition::before,
.about-page .about-banner-v1-composition::after{
  opacity:1;
}

/* Give the Contact call-to-action a little more air beneath its description. */
@media(min-width:761px){
.contact-page .about-banner-v1-cta{top:clamp(390px,53%,522px)}
}

/* Final About banner v2 overrides. Kept at the end so the new banner is not
   pulled back into the older shared About/Stores composition rules. */
.about-page .about-banner-v1-overline{top:15%;opacity:1;transform:none}
.about-page .about-banner-v1-title{
  top:22%;left:0;right:auto;max-width:760px;opacity:1;transform:none;
  white-space:normal;font-size:clamp(4rem,7vw,7rem);line-height:.86;
}
.about-page .about-banner-v1-title-secondary{opacity:1;transform:none;margin-top:.12em;font-size:.58em;line-height:1}
.about-page .about-banner-v1-description{top:50%;opacity:1;transform:none;max-width:520px;font-size:1.05rem}
.about-page .about-banner-v1-cta{top:67%;opacity:1;transform:none;min-width:230px;justify-content:space-between;gap:18px}
.about-page .about-banner-v1-cta span{font-size:1.1rem;line-height:1}
.about-page .about-banner-v1-stats{
  position:absolute;z-index:3;left:0;right:0;bottom:7%;display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;
  border-top:1px solid rgba(230,207,154,.42);border-bottom:1px solid rgba(230,207,154,.24)
}
.about-page .about-banner-v1-stat{min-height:88px;padding:19px 24px 17px 0;border-right:1px solid rgba(230,207,154,.24)}
.about-page .about-banner-v1-stat:not(:first-child){padding-left:24px}
.about-page .about-banner-v1-stat:last-child{border-right:0}
.about-page .about-banner-v1-stat strong{display:block;color:#e6cf9a;font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;line-height:1}
.about-page .about-banner-v1-stat span{display:block;margin-top:8px;color:rgba(231,235,243,.78);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){
  .about-page .about-banner-v1{min-height:690px}
  .about-page .about-banner-v1-inner,.about-page .about-banner-v1-composition{min-height:690px}
  .about-page .about-banner-v1-overline{top:72px}
  .about-page .about-banner-v1-title{top:132px;left:0;right:12px;max-width:calc(100% - 12px);font-size:clamp(3.4rem,15vw,5.7rem);line-height:.84}
  .about-page .about-banner-v1-description{top:285px;font-size:.98rem;max-width:470px;line-height:1.5}
  .about-page .about-banner-v1-cta{top:410px}
  .about-page .about-banner-v1-stats{bottom:34px;max-width:none}
  .about-page .about-banner-v1-stat{min-height:76px;padding:15px 12px 13px 0}
  .about-page .about-banner-v1-stat:not(:first-child){padding-left:12px}
  .about-page .about-banner-v1-stat strong{font-size:1.45rem}
  .about-page .about-banner-v1-stat span{font-size:.58rem;line-height:1.3}
}
@media(max-width:460px){
  .about-page .about-banner-v1{min-height:760px}
  .about-page .about-banner-v1-inner,.about-page .about-banner-v1-composition{min-height:760px}
  .about-page .about-banner-v1-title{top:126px;font-size:clamp(3rem,15vw,4.4rem)}
  .about-page .about-banner-v1-description{top:272px}
  .about-page .about-banner-v1-cta{top:414px}
  .about-page .about-banner-v1-stats{bottom:28px}
  .about-page .about-banner-v1-stat{min-height:84px;padding-top:14px}
  .about-page .about-banner-v1-stat strong{font-size:1.28rem}
  .about-page .about-banner-v1-stat span{font-size:.54rem;letter-spacing:.04em}
}

/* Keep the Contact CTA closer to the hero copy while leaving the shared
   About, Services and News CTA positions unchanged. */
.contact-page .about-banner-v1-cta{top:58%!important}
@media(max-width:760px){
  .contact-page .about-banner-v1-cta{top:370px!important}
}
@media(max-width:460px){
  .contact-page .about-banner-v1-cta{top:374px!important}
}

/* Editorial banners use only their photography, typography, cards, and
   functional dividers. Remove ambient rings, dust, sweeps, and body motifs. */
.about-page::before,
.about-page::after,
.about-page .about-banner-v1::before,
.about-page .about-banner-v1-composition::before,
.about-page .about-banner-v1-composition::after,
.about-page .about-banner-v1-inner::before,
.about-page .about-banner-v1-line-h::before,
.about-page .about-banner-v1-recommendation::before,
.about-page .about-banner-v1-recommendation::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}

/* Our Stores uses the shared editorial banner structure. Keep its photography
   static and remove the decorative dust and orbit layers. */
.locations-page .stores-hero-v4::before{
  animation:none!important;
  transform:none!important;
  background-size:cover!important;
}
.locations-page .stores-hero-v4::after,
.locations-page .stores-v4-composition::before,
.locations-page .stores-v4-composition::after{
  content:none!important;
  display:none!important;
  opacity:0!important;
  animation:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* -------------------------------------------------------------------------
   Services banner v2
   The banner is intentionally coded from individual content tiles rather
   than using the supplied concept artwork as a flattened image.
   ------------------------------------------------------------------------- */
.services-hero-v2{
  --services-gold:#e5bb63;
  --services-cream:#f7f1e7;
  position:relative;
  isolation:isolate;
  min-height:clamp(720px, 47vw, 850px);
  overflow:hidden;
  color:var(--services-cream);
  background:#061c36 url('../images/banners/services/shared/services-banner-background-1920x850.png?services-bg-organised-v1-20261001') center top/cover no-repeat;
}

.services-hero-v2::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(90deg,rgba(3,20,42,.16),rgba(3,20,42,.02) 58%,rgba(3,20,42,.12));
  pointer-events:none;
}

.services-hero-v2-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, .72fr) minmax(760px, 1.28fr);
  align-items:center;
  gap:clamp(52px, 5vw, 100px);
  min-height:clamp(560px, 36vw, 680px);
  padding:clamp(118px, 10vw, 172px) clamp(48px, 9vw, 174px) 120px;
}

.services-hero-v2-copy{
  max-width:650px;
  padding-bottom:30px;
}

.services-hero-v2-copy h1{
  margin:0;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-weight:500;
  line-height:.84;
  letter-spacing:-.035em;
}

.services-hero-v2-copy h1 span,
.services-hero-v2-copy h1 em{
  display:block;
}

.services-hero-v2-copy h1 span{
  color:#fffdf8;
  font-size:clamp(4.1rem, 7.3vw, 8.2rem);
}

.services-hero-v2-copy h1 em{
  margin-top:.08em;
  color:#f1c96e;
  font-size:clamp(3.25rem, 5.9vw, 6.5rem);
  font-style:italic;
}

.services-hero-v2-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:245px;
  min-height:60px;
  margin-top:clamp(34px, 4vw, 58px);
  padding:12px 28px;
  border:1px solid var(--services-gold);
  color:var(--services-cream);
  font-size:1rem;
  font-weight:600;
  letter-spacing:.02em;
  text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}

.services-hero-v2-cta:hover,
.services-hero-v2-cta:focus-visible{
  background:var(--services-gold);
  color:#071d39;
}

.services-hero-v2-collage{
  justify-self:end;
  position:relative;
  display:flex;
  align-items:center;
  width:min(100%, 1050px);
  min-width:0;
  padding:0 48px;
}

.services-hero-v2-carousel-viewport{
  width:100%;
  overflow:hidden;
}

.services-hero-v2-carousel-track{
  --carousel-gap:12px;
  display:flex;
  gap:var(--carousel-gap);
  transition:transform .65s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.services-hero-v2-carousel-track figure{
  flex:0 0 calc((100% - (var(--carousel-gap) * 2)) / 3);
  aspect-ratio:210 / 297;
  min-width:0;
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(239,199,108,.9);
  border-radius:12px;
  background:#102846;
  box-shadow:0 8px 24px rgba(0,0,0,.2);
}

.services-hero-v2-carousel-track img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  background:#102846;
}

.services-hero-v2-carousel-button{
  position:absolute;
  top:50%;
  z-index:2;
  display:grid;
  place-items:center;
  width:42px;
  height:70px;
  padding:0;
  transform:translateY(-50%);
  border:0;
  background:transparent;
  color:#fff;
  font:3.2rem/1 'Cormorant Garamond',Georgia,serif;
  cursor:pointer;
  transition:color .2s ease,transform .2s ease;
}

.services-hero-v2-carousel-button:hover,
.services-hero-v2-carousel-button:focus-visible{
  background:transparent;
  color:#fff;
  outline:1px solid rgba(255,255,255,.7);
  outline-offset:2px;
}

.services-hero-v2-carousel-prev{left:0}
.services-hero-v2-carousel-next{right:0}

.services-hero-v2-logo-bar{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  z-index:2;
  min-height:164px;
  padding:20px 28px 18px;
  overflow:hidden;
  border-top:1px solid rgba(234,192,96,.62);
  border-bottom:1px solid rgba(234,192,96,.42);
  background:#fff;
  text-align:center;
}

.services-hero-v2-logo-heading{
  display:grid;
  grid-template-columns:90px minmax(0,1fr) 90px;
  align-items:center;
  gap:12px;
  margin-bottom:8px;
}

.services-hero-v2-logo-title{
  grid-column:2;
  display:block;
  margin:0;
  color:#0d1b3d;
  font-family:"Cormorant Garamond", Georgia, serif;
  font-size:clamp(1.15rem, 1.45vw, 1.5rem);
  line-height:1.1;
  letter-spacing:.13em;
}

.services-hero-v2-logo-view-all{
  grid-column:3;
  justify-self:end;
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-height:38px;
  padding:10px 16px;
  border:1px solid var(--gold);
  background:transparent;
  color:#0d1b3d;
  font:600 .72rem/1.1 Montserrat,Arial,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,gap .2s ease;
}

.services-hero-v2-logo-view-all:hover,
.services-hero-v2-logo-view-all:focus-visible{
  gap:11px;
  border-color:var(--gold);
  background:var(--gold);
  color:#0d1b3d;
  outline:none;
}

.services-hero-v2-logo-viewport{
  --services-logo-gap:clamp(72px, 6vw, 112px);
  --services-logo-item-width:330px;
  --services-logo-item-height:96px;
  position:relative;
  width:100%;
  margin-block:-16px;
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 42px,#000 calc(100% - 42px),transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 42px,#000 calc(100% - 42px),transparent 100%);
}

.services-hero-v2-logo-track{
  display:flex;
  align-items:center;
  gap:var(--services-logo-gap);
  width:max-content;
  transform:translate3d(0,0,0);
  will-change:transform;
}

.services-page .services-hero-v2-logo-track.is-ready{
  animation:servicesLogoMarquee var(--services-logo-duration, 70s) linear infinite!important;
  will-change:transform!important;
}

.services-hero-v2-logo-group{
  display:flex;
  flex:none;
  align-items:center;
  gap:var(--services-logo-gap);
  margin:0;
  padding:0;
  list-style:none;
}

.services-hero-v2-logo-item{
  display:flex;
  flex:0 0 var(--services-logo-item-width);
  align-items:center;
  justify-content:center;
  width:var(--services-logo-item-width);
  height:var(--services-logo-item-height);
}

.services-hero-v2-logo-item img{
  display:block;
  width:auto;
  height:auto;
  max-width:320px;
  max-height:90px;
  object-fit:contain;
  object-position:center;
}

@keyframes servicesLogoMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-1 * var(--services-logo-distance)),0,0)}
}

@media(max-width:900px){
  .services-hero-v2-inner{
    grid-template-columns:1fr;
    gap:38px;
    min-height:auto;
    padding:96px 7vw 222px;
    padding-bottom:222px;
  }

  .services-hero-v2-copy{
    max-width:620px;
    padding-bottom:0;
  }

  .services-hero-v2-collage{
    justify-self:start;
    width:min(100%, 620px);
  }
}

@media(max-width:600px){
  .services-hero-v2{
    min-height:0;
  }

  .services-hero-v2-inner{
    display:flex;
    flex-direction:column;
    gap:18px;
    padding:28px 20px 166px;
  }

  .services-hero-v2-copy{
    order:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) clamp(118px,36vw,142px);
    align-items:center;
    gap:12px;
    width:100%;
    max-width:none;
    padding:0;
  }
  .services-hero-v2-copy h1{align-self:center;min-width:0}
  .services-hero-v2-copy h1 span{font-size:clamp(2.2rem,9vw,2.55rem)}
  .services-hero-v2-copy h1 em{font-size:clamp(1.9rem,8vw,2.2rem)}
  .services-hero-v2-cta{
    align-self:center;
    justify-self:end;
    width:clamp(118px,36vw,142px);
    min-width:0;
    min-height:42px;
    margin:0;
    padding:8px 10px;
    font-size:clamp(.61rem,2.6vw,.7rem);
    line-height:1.15;
    white-space:nowrap;
  }
  .services-hero-v2-collage{order:2;width:100%;padding:0 12px}
  .services-hero-v2-collage{touch-action:pan-y}
  .services-hero-v2-carousel-track{--carousel-gap:7px}
  .services-hero-v2-carousel-track figure{flex-basis:100%}
  .services-hero-v2-carousel-button{width:30px;height:48px;font-size:1.7rem}
  .services-hero-v2-logo-bar{min-height:142px;padding:20px 15px 18px}
  .services-hero-v2-logo-heading{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px}
  .services-hero-v2-logo-title{grid-column:1;text-align:left;font-size:.9rem;letter-spacing:.065em}
  .services-hero-v2-logo-view-all{grid-column:2;min-height:34px;padding:8px 11px;font-size:.6rem;letter-spacing:.05em}
  .services-hero-v2-logo-viewport{
    --services-logo-gap:36px;
    --services-logo-item-width:198px;
    --services-logo-item-height:76px;
    margin-block:-10px;
    -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);
    mask-image:linear-gradient(90deg,transparent 0,#000 20px,#000 calc(100% - 20px),transparent 100%);
  }
  .services-hero-v2-logo-item img{max-width:188px;max-height:72px}
}

@media(max-width:360px){
  .services-hero-v2-copy{grid-template-columns:minmax(0,1fr) 118px;gap:8px}
  .services-hero-v2-copy h1 span{font-size:1.9rem}
  .services-hero-v2-copy h1 em{font-size:1.7rem}
  .services-hero-v2-logo-title{font-size:.95rem;letter-spacing:.055em}
}

@media(prefers-reduced-motion:reduce){
  .services-page .services-hero-v2-logo-track.is-ready{animation:none!important;will-change:auto!important}
}

/* Final About banner v2 lockup. */
.about-page .about-banner-v1-overline{top:15%;opacity:1;transform:none}
.about-page .about-banner-v1-title{top:22%;left:0;right:auto;max-width:760px;opacity:1;transform:none;white-space:normal;font-size:clamp(4rem,7vw,7rem);line-height:.86}
.about-page .about-banner-v1-title-secondary{opacity:1;transform:none;margin-top:.12em;font-size:.58em;line-height:1}
.about-page .about-banner-v1-description{top:50%;opacity:1;transform:none;max-width:520px;font-size:1.05rem}
.about-page .about-banner-v1-cta{top:67%;opacity:1;transform:none;min-width:230px;justify-content:space-between;gap:18px}
.about-page .about-banner-v1-cta span{font-size:1.1rem;line-height:1}
.about-page .about-banner-v1-stats{position:absolute;z-index:3;left:0;right:0;bottom:7%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;border-top:1px solid rgba(230,207,154,.42);border-bottom:1px solid rgba(230,207,154,.24)}
.about-page .about-banner-v1-stat{min-height:88px;padding:19px 24px 17px 0;border-right:1px solid rgba(230,207,154,.24)}
.about-page .about-banner-v1-stat:not(:first-child){padding-left:24px}
.about-page .about-banner-v1-stat:last-child{border-right:0}
.about-page .about-banner-v1-stat strong{display:block;color:#e6cf9a;font-family:'Cormorant Garamond',serif;font-size:1.8rem;font-weight:500;line-height:1}
.about-page .about-banner-v1-stat span{display:block;margin-top:8px;color:rgba(231,235,243,.78);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:760px){
  .about-page .about-banner-v1{min-height:690px;height:auto}
  .about-page .about-banner-v1-inner,.about-page .about-banner-v1-composition{min-height:690px;height:690px}
  .about-page .about-banner-v1-overline{top:72px}
  .about-page .about-banner-v1-title{top:132px;left:0;right:12px;max-width:calc(100% - 12px);font-size:clamp(3.4rem,15vw,5.7rem);line-height:.84}
  .about-page .about-banner-v1-description{top:285px;font-size:.98rem;max-width:470px;line-height:1.5}
  .about-page .about-banner-v1-cta{top:410px}
  .about-page .about-banner-v1-stats{bottom:34px;max-width:none}
  .about-page .about-banner-v1-stat{min-height:76px;padding:15px 12px 13px 0}
  .about-page .about-banner-v1-stat:not(:first-child){padding-left:12px}
  .about-page .about-banner-v1-stat strong{font-size:1.45rem}
  .about-page .about-banner-v1-stat span{font-size:.58rem;line-height:1.3}
}
@media(max-width:460px){
  .about-page .about-banner-v1{min-height:760px}
  .about-page .about-banner-v1-inner,.about-page .about-banner-v1-composition{min-height:760px;height:760px}
  .about-page .about-banner-v1-title{top:126px;font-size:clamp(3rem,15vw,4.4rem)}
  .about-page .about-banner-v1-description{top:272px}
  .about-page .about-banner-v1-cta{top:414px}
  .about-page .about-banner-v1-stats{bottom:28px}
  .about-page .about-banner-v1-stat{min-height:84px;padding-top:14px}
  .about-page .about-banner-v1-stat strong{font-size:1.28rem}
  .about-page .about-banner-v1-stat span{font-size:.54rem;letter-spacing:.04em}
}

/* Keep A4 service artwork vertically centered in its card column. */
.services-page .services-grid .service-card>img,.services-page main>.section .service-card>img{align-self:center!important;}


/* Mobile Our Other Services: preserve A4 artwork and give every card an even copy area. */
@media(max-width:760px){
  .services-page main>.section .service-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
  .services-page main>.section .service-card>img{display:block!important;flex:0 0 auto!important;width:100%!important;height:auto!important;aspect-ratio:210 / 297!important;max-height:none!important;object-fit:contain!important;align-self:center!important;}
  .services-page main>.section .service-card>div{display:flex!important;flex:1 0 auto!important;flex-direction:column!important;min-height:220px!important;max-height:220px!important;overflow:hidden!important;padding:12px!important;}
  .services-page main>.section .service-card h3{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;overflow:hidden!important;min-height:2.55em!important;}
  .services-page main>.section .service-card p{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;min-height:4.35em!important;max-height:4.35em!important;}
  .services-page main>.section .service-card a{margin-top:auto!important;}
}

/* Responsive desktop services hero: give the carousel a fluid track before
   the mobile stacked layout takes over, so it stays clear of the heading. */
@media(min-width:901px) and (max-width:1200px){
  .services-hero-v2-inner{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr)!important;gap:clamp(18px,2.4vw,30px)!important;padding-left:clamp(30px,4vw,52px)!important;padding-right:clamp(30px,4vw,52px)!important;}
  .services-hero-v2-copy{min-width:0!important;}
  .services-hero-v2-copy h1 span{font-size:clamp(3.4rem,6vw,5.4rem)!important;}
  .services-hero-v2-copy h1 em{font-size:clamp(2.8rem,4.8vw,4.4rem)!important;}
  .services-hero-v2-collage{width:100%!important;min-width:0!important;padding:0 34px!important;}
  .services-hero-v2-carousel-track{--carousel-gap:8px!important;}
  .services-hero-v2-carousel-button{width:30px!important;}
}

/* Desktop Our Other Services: keep a uniform left image column filling each card. */
@media(min-width:761px){
  .services-page main>.section .service-card>img{width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:cover!important;align-self:stretch!important;}
}
