/* AD1 FILM reusable service-page components. */
.ad1dp,
.ad1price{
  --ad1-service-ink:var(--e-global-color-primary,#171412);
  --ad1-service-text:var(--e-global-color-text,#3d3833);
  --ad1-service-accent:var(--e-global-color-accent,#a82222);
  --ad1-service-paper:var(--e-global-color-background,#f6f2ed);
  --ad1-service-line:color-mix(in srgb,var(--ad1-service-ink) 18%,transparent);
  --ad1price-header-bg:transparent;
  --ad1price-header-border:transparent;
  --ad1price-toggle-bg:transparent;
  --ad1price-toggle-hover-bg:color-mix(in srgb,var(--ad1-service-accent) 4%,transparent);
  --ad1price-toggle-border:transparent;
  --ad1price-toggle-border-width:0px;
  --ad1price-record-line:var(--ad1-service-line);
  --ad1price-heading-color:var(--ad1-service-ink);
  --ad1price-service-color:var(--ad1-service-ink);
  --ad1price-formats-color:var(--ad1-service-text);
  --ad1price-icon-bg:transparent;
  --ad1price-icon-border:var(--ad1-service-line);
  --ad1price-icon-hover-color:var(--ad1-color-text-light,#f6f2ef);
  --ad1price-icon-hover-bg:var(--ad1-service-accent);
  color:var(--ad1-service-text);
}
.ad1dp *,
.ad1price *{box-sizing:border-box}
.ad1dp button,
.ad1price button{}

/* Development paths — desktop editorial 2x2 cards, mobile accordion. */
.ad1dp{
  --ad1dp-section-bg:var(--ad1-service-paper);
  --ad1dp-card-bg:#fcfaf7;
  --ad1dp-line:var(--ad1-service-line);
  --ad1dp-fade:#fcfaf7;
  --ad1dp-fade-radius-x:92%;
  --ad1dp-fade-radius-y:128%;
  --ad1dp-fade-y:50%;
  --ad1dp-fade-opacity:1;
  padding:clamp(54px,6vw,88px) clamp(20px,4vw,64px);
  color:var(--ad1-service-text);
  background:var(--ad1dp-section-bg);
}
.ad1dp__inner{
  --ad1dp-outer-gap:clamp(34px,4vw,64px);
  --ad1dp-card-gap:0px;
  width:min(100%,1280px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(210px,25%) minmax(0,1fr);
  gap:var(--ad1dp-outer-gap);
  align-items:start;
}
.ad1dp__intro{position:static;min-width:0;padding:2px 0 0}
.ad1dp__eyebrow{
  margin:0 0 13px;
  color:var(--ad1-service-accent);
  
  
  
  
  
  text-transform:var(--e-global-typography-accent-text-transform,uppercase);
}
.ad1dp__heading{
  max-width:12ch;
  margin:0 0 16px;
  color:var(--ad1-service-ink);
  
  
  
  
  
  text-wrap:balance;
}
.ad1dp__intro-copy{
  max-width:25ch;
  margin:0;
  color:var(--ad1-service-text);
  
  
  
  
  
}
.ad1dp__intro-link{
  display:inline-flex;
  align-items:center;
  gap:9px;
  margin-top:19px;
  color:var(--ad1-service-accent);
  
  
  
  
  text-decoration:none;
  text-transform:uppercase;
}
.ad1dp__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:var(--ad1dp-card-gap);
  min-width:0;
  border-top:1px solid var(--ad1dp-line);
  border-left:1px solid var(--ad1dp-line);
}
.ad1dp__card{
  position:relative;
  min-width:0;
  background-color:var(--ad1dp-card-bg);
  border-right:1px solid var(--ad1dp-line);
  border-bottom:1px solid var(--ad1dp-line);
  overflow:hidden;
}
.ad1dp .ad1dp__toggle{
  --ad1dp-image-width:44%;
  appearance:none;
  -webkit-appearance:none;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,calc(100% - var(--ad1dp-image-width))) minmax(0,var(--ad1dp-image-width));
  align-items:stretch;
  width:100%;
  min-height:238px;
  margin:0;
  padding:0;
  color:inherit;
  text-align:left;
  background-color:transparent;
  background-image:none;
  border:0;
  border-radius:0;
  box-shadow:none;
  text-shadow:none;
  cursor:pointer;
  overflow:hidden;
}
.ad1dp__content{
  position:relative;
  z-index:3;
  display:flex;
  min-width:0;
  width:100%;
  max-width:100%;
  padding:24px 22px 22px 24px;
  overflow:hidden;
  background:var(--ad1dp-card-bg);
}
.ad1dp__number{
  position:absolute;
  z-index:0;
  top:15px;
  left:18px;
  display:block;
  margin:0;
  color:color-mix(in srgb,var(--ad1-service-ink) 10%,transparent);
  
  
  
  
  
  pointer-events:none;
}
.ad1dp__copy{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  min-width:0;
  width:100%;
  max-width:100%;
  padding-top:53px;
  overflow:hidden;
}
.ad1dp__title{
  display:block;
  width:100%;
  max-width:100%;
  margin:0 0 9px;
  color:var(--ad1-service-ink);
  
  
  
  
  
  text-wrap:balance;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.ad1dp__summary{
  display:block;
  width:100%;
  max-width:100%;
  margin:0;
  color:var(--ad1-service-text);
  
  
  
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
}
.ad1dp__learn{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  padding-top:16px;
  color:var(--ad1-service-accent);
  
  
  
  
  
  text-transform:none;
  transition:transform .22s ease;
}
.ad1dp__media{
  position:relative;
  z-index:1;
  display:block;
  min-width:0;
  height:100%;
  overflow:hidden;
  background:color-mix(in srgb,var(--ad1dp-fade) 86%,#d8d2ca);
}
.ad1dp__media::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  background:linear-gradient(to right,var(--ad1dp-fade) 0 16%,transparent 84%);
  opacity:var(--ad1dp-fade-opacity,1);
  pointer-events:none;
}
@supports ((-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent)) or (mask-image:radial-gradient(ellipse at center,#000,transparent))){
  .ad1dp__media::before{
    background:var(--ad1dp-fade);
    -webkit-mask-image:radial-gradient(ellipse var(--ad1dp-fade-radius-x,92%) var(--ad1dp-fade-radius-y,128%) at 0% var(--ad1dp-fade-y,50%),#000 0 18%,rgba(0,0,0,.92) 34%,rgba(0,0,0,.62) 52%,rgba(0,0,0,.24) 68%,transparent 84%);
    mask-image:radial-gradient(ellipse var(--ad1dp-fade-radius-x,92%) var(--ad1dp-fade-radius-y,128%) at 0% var(--ad1dp-fade-y,50%),#000 0 18%,rgba(0,0,0,.92) 34%,rgba(0,0,0,.62) 52%,rgba(0,0,0,.24) 68%,transparent 84%);
    -webkit-mask-repeat:no-repeat;
    mask-repeat:no-repeat;
  }
}
.ad1dp__media img{
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  object-fit:cover;
  object-position:center;
  filter:saturate(.72) contrast(.92) brightness(1.08);
  transform:scale(1.001);
  transition:transform .45s ease,filter .35s ease;
}
.ad1dp__icon{display:none}
.ad1dp__card:is(:hover,:focus-within) .ad1dp__media img{transform:scale(1.025);filter:saturate(.82) contrast(.96) brightness(1.06)}
.ad1dp__card:is(:hover,:focus-within) .ad1dp__learn{transform:translateX(3px)}
.ad1dp__panel{
  position:relative;
  z-index:4;
  padding:0 24px 26px;
  color:var(--ad1-service-text);
  background:var(--ad1dp-card-bg);
  
  
  
  border-top:1px solid var(--ad1dp-line);
}
.ad1dp__panel[hidden]{display:none}
.ad1dp__panel> :first-child{margin-top:21px}
.ad1dp__panel> :last-child{margin-bottom:0}
.ad1dp__panel ul{padding-inline-start:1.1em}
.ad1dp__panel strong{color:var(--ad1-service-ink)}
.ad1dp__panel-link{display:inline-flex;align-items:center;gap:8px;margin-top:14px;color:var(--ad1-service-accent);text-decoration:none;}
.ad1dp .ad1dp__toggle:focus-visible{outline:2px solid var(--ad1-service-accent);outline-offset:-3px}

@media(max-width:1024px) and (min-width:768px){
  .ad1dp__inner{grid-template-columns:minmax(180px,27%) minmax(0,1fr);--ad1dp-outer-gap:30px}
  .ad1dp .ad1dp__toggle{--ad1dp-image-width:40%;min-height:218px}
  .ad1dp__content{padding:21px 18px 20px}
  .ad1dp__number{}
  .ad1dp__copy{padding-top:45px}
  .ad1dp__title{}
  .ad1dp__summary{}
}

@media(max-width:767px){
  .ad1dp{padding:42px 18px}
  .ad1dp__inner{display:block}
  .ad1dp__intro{padding:0 0 22px}
  .ad1dp__heading{max-width:18ch;margin-bottom:12px;}
  .ad1dp__intro-copy{max-width:34ch;}
  .ad1dp__grid{display:block;border-left:1px solid var(--ad1dp-line)}
  .ad1dp__card{overflow:visible}
  .ad1dp .ad1dp__toggle{
    display:grid;
    grid-template-columns:66px minmax(0,1fr) 32px;
    grid-auto-rows:auto;
    align-items:center;
    min-height:0;
    padding:0 15px 0 0;
    overflow:visible;
  }
  .ad1dp__content{display:contents;padding:0;background:transparent}
  .ad1dp__number{
    position:static;
    grid-column:1;
    grid-row:1;
    align-self:center;
    margin:0;
    color:color-mix(in srgb,var(--ad1-service-ink) 10%,transparent);
    
    
    text-align:center;
  }
  .ad1dp__copy{grid-column:2;grid-row:1;display:block;padding:18px 8px 18px 0}
  .ad1dp__title{max-width:none;margin:0;}
  .ad1dp__summary,.ad1dp__learn{display:none}
  .ad1dp__icon{
    grid-column:3;
    grid-row:1;
    display:grid;
    width:28px;
    height:28px;
    place-items:center;
    justify-self:end;
    color:var(--ad1-service-accent);
    font-size:1.15rem;
    line-height:1;
    border:0;
    transition:transform .22s ease;
  }
  .ad1dp__media{display:none}
  .ad1dp__card.is-expanded .ad1dp__summary{display:block;margin-top:8px;padding-right:4px;}
  .ad1dp__card.is-expanded .ad1dp__media{grid-column:1/-1;grid-row:2;display:block;width:100%;height:auto;aspect-ratio:16/8.8;margin:0}
  .ad1dp__card.is-expanded .ad1dp__media img{height:100%}
  .ad1dp__card.is-expanded .ad1dp__icon{transform:rotate(45deg)}
  .ad1dp__panel{padding:0 18px 22px;border-top:0;}
  .ad1dp__panel> :first-child{margin-top:18px}
}

@media(prefers-reduced-motion:reduce){
  .ad1dp__media img,.ad1dp__icon{transition:none!important;transform:none!important}
}

/* Grouped pricing */
.ad1price{padding:clamp(58px,7vw,108px) clamp(20px,5vw,72px)}
.ad1price__inner{width:min(100%,1280px);margin-inline:auto}
.ad1price__header{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,520px);gap:38px;align-items:end;margin-bottom:28px;background:var(--ad1price-header-bg);border-style:solid;border-color:var(--ad1price-header-border)}
.ad1price__eyebrow{margin:0 0 12px;color:var(--ad1-service-accent);text-transform:var(--e-global-typography-accent-text-transform,uppercase);}
.ad1price__heading{margin:0;color:var(--ad1price-heading-color);}
.ad1price__note{max-width:54ch;margin:0 0 4px auto;color:var(--ad1-service-text);text-align:right;}
.ad1price__groups{border-top:1px solid var(--ad1price-line,var(--ad1-service-line))}
.ad1price__group{--ad1price-surface:transparent;border-bottom:1px solid var(--ad1price-line,var(--ad1-service-line));background:var(--ad1price-surface)}
.ad1price__toggle{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(170px,.75fr) 42px;gap:24px;align-items:center;width:100%;padding:18px 16px;color:inherit;text-align:left;background:var(--ad1price-toggle-bg);border:var(--ad1price-toggle-border-width) solid var(--ad1price-toggle-border);box-shadow:none;cursor:pointer;transition:background-color .2s ease,border-color .2s ease}
.ad1price__toggle:is(:hover,:focus-visible){background:var(--ad1price-toggle-hover-bg)}
.ad1price__service{color:var(--ad1price-service-color);}
.ad1price__formats{color:var(--ad1price-formats-color);}
.ad1price__icon{display:grid;width:32px;height:32px;place-items:center;justify-self:end;color:var(--ad1-service-accent);background:var(--ad1price-icon-bg);border:1px solid var(--ad1price-icon-border);transition:transform .24s ease,background-color .24s ease,color .24s ease,border-color .24s ease}
.ad1price__group.is-expanded .ad1price__icon{transform:rotate(45deg)}
.ad1price__toggle:is(:hover,:focus-visible) .ad1price__icon{color:var(--ad1price-icon-hover-color);background:var(--ad1price-icon-hover-bg);border-color:var(--ad1price-icon-hover-bg)}
.ad1price__toggle:focus-visible{outline:2px solid var(--ad1-service-accent);outline-offset:3px}
.ad1price__panel{display:block;border-top:1px solid color-mix(in srgb,var(--ad1price-line,var(--ad1-service-line)) 72%,transparent)}
.ad1price__group:not(.is-expanded) .ad1price__panel{display:none}
.ad1price__record{display:grid;grid-template-columns:minmax(150px,.72fr) minmax(190px,.95fr) minmax(180px,.86fr) minmax(260px,1.4fr);gap:24px;align-items:start;padding:16px 0;border-bottom:1px solid color-mix(in srgb,var(--ad1price-record-line,var(--ad1price-line,var(--ad1-service-line))) 58%,transparent)}
.ad1price__record:last-child{border-bottom:0}
.ad1price__format{color:var(--ad1-service-text);text-transform:var(--e-global-typography-accent-text-transform,uppercase);}
.ad1price__price{color:var(--ad1-service-ink);}
.ad1price__turnaround{color:var(--ad1-service-text);}
.ad1price__output{color:var(--ad1-service-text);}
.ad1price__footer-link{display:inline-flex;align-items:center;gap:9px;margin-top:24px;color:var(--ad1-service-accent);text-decoration:none;text-transform:uppercase;}

@media(max-width:1024px){
  .ad1price__record{grid-template-columns:minmax(120px,.72fr) minmax(170px,1fr) minmax(150px,.85fr);gap:18px}
  .ad1price__output{grid-column:1/-1}
}

@media(max-width:767px){
  .ad1price{padding:48px 20px}
  .ad1price__header{display:block;margin-bottom:24px}
  .ad1price__heading{}
  .ad1price__note{margin:14px 0 0;text-align:left}
  .ad1price__toggle{grid-template-columns:minmax(0,1fr) 34px;gap:14px;padding:17px 12px}
  .ad1price__formats{display:none}
  .ad1price__service{}
  .ad1price__icon{grid-column:2;grid-row:1;width:30px;height:30px}
  .ad1price__group.is-expanded .ad1price__panel{display:block}
  .ad1price__record{grid-template-columns:1fr;gap:6px;padding:17px 12px}
  .ad1price__format{}
  .ad1price__price{}
  .ad1price__turnaround{}
  .ad1price__output{grid-column:auto;margin-top:5px;}
}

@media(prefers-reduced-motion:reduce){
  .ad1dp__media img,.ad1dp__icon,.ad1price__icon{transition:none!important;transform:none!important}
}

/* 0.12.11.1 — hard scoped surface ownership for Development Path Cards.
 * Elementor Kit button rules must never repaint the editorial card trigger. */
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__card{
  background-color:var(--ad1dp-card-bg);
}
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__toggle,
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__toggle:hover,
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__toggle:focus,
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__toggle:active{
  color:inherit;
  background-color:transparent;
  background-image:none;
  border-color:transparent;
  box-shadow:none;
}
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__content,
.elementor-widget-ad1-development-paths .ad1dp .ad1dp__panel{
  background-color:var(--ad1dp-card-bg);
}


/* 0.12.13 — control binding ownership. Keep component controls authoritative over Kit button defaults. */
.elementor-widget-ad1-service-pricing .ad1price .ad1price__toggle,
.elementor-widget-ad1-service-pricing .ad1price .ad1price__toggle:active{
  color:inherit;
  background-image:none;
  box-shadow:none;
  border-style:solid;
  border-radius:0;
}
.elementor-widget-ad1-service-pricing .ad1price .ad1price__service{color:var(--ad1price-service-color)}
.elementor-widget-ad1-service-pricing .ad1price .ad1price__formats{color:var(--ad1price-formats-color)}
.elementor-widget-ad1-service-pricing .ad1price .ad1price__heading{color:var(--ad1price-heading-color)}
