/* Approved editorial services carousel, isolated from original homepage */
.editorial-services{background:#F8F6F2;overflow:hidden;position:relative;padding:125px 0 115px;color:#1D2340}
.editorial-services:before{content:none}
.editorial-services__layout{display:grid;grid-template-columns:minmax(290px,35%) minmax(0,65%);max-width:1560px;margin:auto;align-items:center}
.editorial-services__intro{padding:0 28px 0 clamp(28px,5.5vw,88px);position:relative;z-index:2}
.editorial-services__eyebrow{font:500 11px Poppins,sans-serif;letter-spacing:4px;color:#8C79B7;display:flex;align-items:center;gap:16px}
.editorial-services__eyebrow:after{content:none;display:none}
.editorial-services__intro h2{font:400 clamp(55px,5.4vw,90px)/.98 'DM Serif Display',Georgia,serif;letter-spacing:-2.5px;margin:37px 0 26px}
.editorial-services__intro h2 em{color:#8C79B7;font-weight:400}
.editorial-services__dot{color:#E3B98F}
.editorial-services__intro>p{font:400 clamp(15px,1.3vw,19px)/1.8 'Noto Sans',sans-serif;max-width:370px;margin:0}
.editorial-services__stage{min-width:0;overflow:hidden;padding:24px 0 20px}
.editorial-services__viewport{overflow-x:auto;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x pan-y;scroll-snap-type:x proximity;outline-offset:-4px}
.editorial-services__viewport::-webkit-scrollbar{display:none}
.editorial-services__track{display:flex;gap:20px;width:max-content;padding:0 40px 22px 0}
.editorial-service-card{width:clamp(240px,20vw,320px);height:530px;position:relative;flex:none;border-radius:25px;overflow:hidden;background:#EAE5FA;box-shadow:none;scroll-snap-align:start}
.editorial-service-card>img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s ease;filter:saturate(.8)}
.editorial-service-card:hover>img{transform:scale(1.045)}
.editorial-service-card__panel{position:absolute;bottom:0;left:0;right:0;min-height:208px;background:rgba(248,246,242,.98);border-radius:0 105px 0 0;padding:32px 28px 28px;display:flex;flex-direction:column;justify-content:center}
.editorial-service-card__panel h3{font:400 clamp(25px,2.1vw,32px)/1.12 'DM Serif Display',Georgia,serif;letter-spacing:-.6px;margin:0 0 15px;max-width:225px}
.editorial-service-card__panel p{font:400 13px/1.65 'Noto Sans',sans-serif;color:#4f5368;margin:0;max-width:215px}
.editorial-services__line{height:2px;background:#ddd5e8;margin:22px 10% 0 5%;position:relative}
.editorial-services__line span{display:block;height:100%;width:22%;background:#8C79B7;transition:transform .15s ease}
@media(max-width:1050px){.editorial-services__layout{grid-template-columns:39% 61%}.editorial-service-card{width:260px;height:460px}.editorial-service-card__panel{min-height:190px}.editorial-services__intro h2{font-size:clamp(48px,5.8vw,68px)}}
@media(max-width:760px){.editorial-services{padding:80px 0 75px}.editorial-services__layout{display:block}.editorial-services__intro{padding:0 24px 35px}.editorial-services__intro h2{font-size:clamp(58px,11vw,82px);margin:24px 0}.editorial-services__intro>p{font-size:15px;max-width:520px}.editorial-services__stage{padding:10px 0}.editorial-services__viewport{padding-left:24px}.editorial-services__track{gap:14px;padding-right:24px}.editorial-service-card{width:min(74vw,300px);height:445px}.editorial-service-card__panel{min-height:185px;padding:26px 23px}.editorial-service-card__panel h3{font-size:27px}.editorial-services__line{margin:20px 24px 0}}
@media(prefers-reduced-motion:reduce){.editorial-service-card>img,.editorial-services__line span{transition:none}}

/* Minimal carousel arrow controls; desktop and mobile */
.editorial-services__stage{position:relative}
.editorial-services__controls{display:flex;justify-content:flex-end;gap:12px;padding:4px clamp(24px,5vw,68px) 0 0}
.editorial-services__arrow{appearance:none;width:49px;height:49px;display:grid;place-items:center;cursor:pointer;border:1px solid rgba(29,35,64,.35);border-radius:50%;background:rgba(248,246,242,.94);color:#1D2340;font:400 25px/1 Georgia,serif;transition:background .2s,color .2s,border-color .2s,transform .2s}
.editorial-services__arrow:hover{background:#1D2340;color:#fff;border-color:#1D2340;transform:translateY(-2px)}
.editorial-services__arrow:focus-visible{outline:3px solid #8C79B7;outline-offset:3px}
@media(max-width:760px){.editorial-services__controls{padding-right:24px}.editorial-services__arrow{width:45px;height:45px}}
@media(prefers-reduced-motion:reduce){.editorial-services__arrow{transition:none}}


/* Services introduction: exactly match The Foundation paragraph typography. */
.editorial-services__intro > p {
  font-family: 'Noto Sans', sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 2;
  color: #55566a;
}

/* Service carousel navigation: centred over its edges, accessible without scrolling below the cards. */
.editorial-services__stage{position:relative}
.editorial-services__controls{
  position:absolute;top:calc(50% - 12px);left:0;right:0;z-index:5;
  transform:translateY(-50%);display:flex;justify-content:space-between;
  align-items:center;gap:0;padding:0 14px;margin:0;pointer-events:none;
}
.editorial-services__controls .editorial-services__arrow{
  pointer-events:auto;flex:0 0 auto;background:#F8F6F2;
  border:1px solid #b9add4;color:#1D2340;box-shadow:none;
}
.editorial-services__controls .editorial-services__arrow:hover{
  background:#1D2340;color:#fff;border-color:#1D2340;
}
@media(max-width:760px){
  .editorial-services__controls{padding:0 12px;top:calc(50% - 8px)}
  .editorial-services__controls .editorial-services__arrow{width:44px;height:44px}
}


/* Carousel controls: dedicated side gutters, never on top of card photography or text. */
.editorial-services__stage{position:relative}
.editorial-services__viewport{margin-inline:64px;max-width:calc(100% - 128px)}
.editorial-services__controls{
  position:absolute;inset:0;top:0;left:0;right:0;
  width:100%;height:100%;padding:0 7px;margin:0;
  transform:none;display:flex;align-items:center;justify-content:space-between;
  pointer-events:none;z-index:5;
}
.editorial-services__controls .editorial-services__arrow{pointer-events:auto;width:46px;height:46px}
@media(max-width:1050px){
  .editorial-services__viewport{margin-inline:54px;max-width:calc(100% - 108px)}
  .editorial-services__controls{padding:0 4px}
  .editorial-services__controls .editorial-services__arrow{width:43px;height:43px}
}
@media(max-width:760px){
  .editorial-services__viewport{margin-inline:48px;max-width:calc(100% - 96px);padding-left:0}
  .editorial-services__controls{top:0;padding:0 3px}
  .editorial-services__controls .editorial-services__arrow{width:40px;height:40px;font-size:23px}
  .editorial-service-card{width:min(69vw,300px)}
}


/* Refined controls and a measured three-card desktop viewport.
   The original service-card styling and content remain untouched. */
@media (min-width:1101px){
  .editorial-services__stage{container-type:inline-size}
  .editorial-services__viewport{margin-inline:37px;max-width:calc(100% - 74px)}
  .editorial-service-card{width:calc((100cqw - 114px)/3)}
  .editorial-services__controls{padding:0 3px}
  .editorial-services__controls .editorial-services__arrow{width:30px;height:30px;font-size:17px}
}
@media (min-width:761px) and (max-width:1100px){
  .editorial-services__stage{container-type:inline-size}
  .editorial-services__viewport{margin-inline:35px;max-width:calc(100% - 70px)}
  .editorial-service-card{width:calc((100cqw - 90px)/2)}
  .editorial-services__controls{padding:0 3px}
  .editorial-services__controls .editorial-services__arrow{width:30px;height:30px;font-size:17px}
}
@media (max-width:760px){
  .editorial-services__viewport{margin-inline:36px;max-width:calc(100% - 72px)}
  .editorial-services__controls .editorial-services__arrow{width:30px;height:30px;font-size:17px}
}

/* WordPress safeguards: contain typography within shortcode and avoid theme defaults. */
.editorial-services *, .editorial-services *::before, .editorial-services *::after{box-sizing:border-box}
.editorial-services .editorial-services__intro h2,.editorial-services .editorial-service-card h3{color:#1D2340}
.editorial-services .editorial-service-card__panel p{color:#4f5368}
.editorial-services__arrow{min-width:0 !important;min-height:0 !important;padding:0 !important}

/* Version 1.2 — Match Foundation H2 typography at every breakpoint.
   This rule lives in the plugin so theme editor CSS is not needed. */
@media (min-width: 601px) {
  body .editorial-services .editorial-services__intro h2#services-title {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: clamp(64px, 6.2vw, 112px) !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -2px !important;
  }
}
@media (max-width: 600px) {
  body .editorial-services .editorial-services__intro h2#services-title {
    font-family: 'DM Serif Display', Georgia, serif !important;
    font-size: 42px !important;
    font-weight: 400 !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
  }
}
