/* Directstay.guru service pages
   Loaded after site.css so this file can remain isolated from the homepage system. */

.service-page{
  --service-accent:var(--signal-blue);
  --service-accent-ink:#07151d;
  background:#f3f3f5;
  color:var(--ink);
}
.service-page--film{--service-accent:var(--white)}
.service-page--growth{--service-accent:var(--signal-blue)}
.service-page--automation{--service-accent:var(--teal);--service-accent-ink:var(--white)}
.service-page--ecosystem{--service-accent:var(--signal-yellow)}
.service-page>section{position:relative}
.service-shell{width:min(100%,var(--max));margin-inline:auto}

.service-page>.service-hero{
  min-height:860px;
  padding:156px var(--gutter) 92px!important;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);
  align-items:center;
  gap:clamp(54px,7vw,112px);
  overflow:hidden;
  background:#f3f3f5!important;
}
.service-hero-copy{max-width:690px}
.service-breadcrumb{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:32px;
  color:#615b6b;
  font-size:14px;
  font-weight:650;
  text-decoration:none;
}
.service-breadcrumb::before{content:"";
  display:inline-block;
  width:0.86em;height:0.86em;
  -webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11.6%207.15C8.6%206.6%205.6%207.45%202.65%206.95%22%2F%3E%3Cpath%20d%3D%22M5.45%204.15%202.35%207.05%205.55%209.9%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain;
  mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M11.6%207.15C8.6%206.6%205.6%207.45%202.65%206.95%22%2F%3E%3Cpath%20d%3D%22M5.45%204.15%202.35%207.05%205.55%209.9%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain;
  background:currentColor;color:var(--service-accent-ink)}
.service-breadcrumb:hover{color:var(--ink)}
.service-kicker{
  width:max-content;
  margin-bottom:22px;
  padding:7px 11px;
  border-radius:999px;
  background:var(--service-accent);
  color:var(--service-accent-ink);
  font-size:13px;
  font-weight:750;
}
.service-hero h1{
  max-width:780px;
  font-size:clamp(4rem,6.8vw,6.4rem);
  font-weight:750;
  letter-spacing:-.038em;
}
.service-hero-copy>p:not(.service-kicker){
  max-width:610px;
  margin-top:28px;
  color:#56505f;
  font-size:clamp(18px,1.7vw,22px);
  line-height:1.5;
}
.service-actions{margin-top:34px;display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.service-actions .btn-primary{background:var(--ink)}
.service-actions .btn-primary:hover{background:#000}
.service-text-link{padding:12px 2px;color:var(--ink);font-weight:700;text-decoration:none}
.service-text-link:hover{text-decoration:underline;text-underline-offset:5px}
.service-assurance{display:flex;align-items:center;gap:10px;margin-top:26px;color:#686270;font-size:14px}
.service-assurance i{width:8px;height:8px;border-radius:50%;background:var(--service-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--service-accent) 24%,transparent)}

.service-hero-stage{
  position:relative;
  width:100%;
  margin:0;
  min-height:610px;
  overflow:hidden;
  border-radius:16px;
  background:#111015;
  color:#fff;
}
.service-hero-stage::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:42%;
  background:linear-gradient(180deg,transparent,rgb(9 8 12 / .86));
  pointer-events:none;
}
.service-hero-stage>img,.service-hero-stage>video{
  width:100%;
  height:610px;
  object-fit:cover;
}
.service-stage-copy{
  position:absolute;
  z-index:2;
  left:30px;
  right:30px;
  bottom:28px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
}
.service-stage-copy span{display:flex;flex-direction:column;gap:6px}
.service-stage-copy small{color:var(--service-accent);font-size:12px;font-weight:750}
.service-stage-copy strong{max-width:520px;font-size:clamp(25px,2.4vw,36px);line-height:1.02}
.service-stage-copy em{font-size:12px;font-style:normal;color:#d9d6de}

/* Hero-specific motion scenes */
.growth-stage{padding:28px;background:#dce8ee}
.growth-window{
  position:absolute;
  inset:28px 78px 92px 28px;
  overflow:hidden;
  border-radius:12px;
  background:#fff;
  color:#13202a;
  animation:service-window-in 7s var(--ease-out) infinite;
}
.growth-window-bar{height:42px;padding:0 14px;display:flex;align-items:center;gap:6px;background:#eef1f2}
.growth-window-bar i{width:7px;height:7px;border-radius:50%;background:#b7c0c4}
.growth-window-bar span{margin-left:8px;color:#68757c;font-size:10px;font-weight:650}
.growth-window-hero{
  height:calc(100% - 42px);
  padding:30px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  background:linear-gradient(180deg,transparent,rgb(7 18 26 / .72)),url("../public/img/gallery-lakefront-living.jpg") center/cover;
  color:#fff;
}
.growth-window-hero small{font-size:11px;font-weight:700}
.growth-window-hero strong{max-width:440px;margin:9px 0 20px;font-size:clamp(30px,4vw,54px);line-height:.92}
.growth-window-hero span{width:max-content;padding:9px 13px;border-radius:999px;background:var(--signal-yellow);color:#111015;font-size:11px;font-weight:750}
.growth-profile-card{
  position:absolute;
  z-index:2;
  right:24px;
  bottom:32px;
  width:min(310px,54%);
  padding:19px;
  border-radius:12px;
  background:#fff;
  color:#1a2730;
  box-shadow:0 8px 8px rgb(11 24 32 / .15);
  animation:service-profile-in 7s var(--ease-out) infinite;
}
.growth-profile-card b{display:block;font-size:16px}
.growth-profile-card small{display:block;margin-top:4px;color:#68757c}
.growth-profile-card p{margin-top:16px;color:#e49a18;font-size:13px;font-weight:750}
.growth-profile-card p span{color:#5c6870;font-weight:600}

.automation-stage{padding:32px;background:#11181c}
.automation-stage::after{display:none}
.automation-console{
  height:100%;
  min-height:546px;
  padding:28px;
  border-radius:13px;
  background:#f4f5f5;
  color:#1c292f;
}
.automation-console-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #d7dddf}
.automation-console-head strong{font-size:18px}
.automation-console-head span{padding:6px 9px;border-radius:999px;background:#dff5e7;color:#165d38;font-size:10px;font-weight:750}
.automation-console-guest{margin:22px 0;padding:18px;border-radius:10px;background:#fff}
.automation-console-guest small{color:#6b767c}
.automation-console-guest strong{display:block;margin-top:6px;font-size:15px}
.automation-console-flow{display:flex;flex-direction:column;gap:10px}
.automation-console-flow span{
  --flow-delay:0s;
  padding:14px;
  display:grid;
  grid-template-columns:30px 1fr auto;
  align-items:center;
  gap:10px;
  border-radius:9px;
  background:#e7ebed;
  animation:service-flow-step 7s var(--ease-out) infinite;
  animation-delay:var(--flow-delay);
}
.automation-console-flow span:nth-child(2){--flow-delay:1.25s}
.automation-console-flow span:nth-child(3){--flow-delay:2.5s}
.automation-console-flow span:nth-child(4){--flow-delay:3.75s}
.automation-console-flow i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#fff;color:#53636b;font-size:10px;font-style:normal;font-weight:750}
.automation-console-flow b{font-size:12px}
.automation-console-flow small{color:#67777e;font-size:10px}

.ecosystem-stage{padding:30px;background:#101419}
.ecosystem-stage::after{display:none}
.ecosystem-orbit{
  position:relative;
  height:550px;
  overflow:hidden;
  border-radius:13px;
  background:radial-gradient(circle at center,#23303a 0,#141b21 54%,#0c1014 100%);
}
.ecosystem-ring{position:absolute;left:50%;top:50%;border:1px solid #3f4e58;border-radius:50%;transform:translate(-50%,-50%)}
.ecosystem-ring--one{width:68%;aspect-ratio:1}
.ecosystem-ring--two{width:43%;aspect-ratio:1}
.ecosystem-center{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:190px;
  padding:14px;
  display:flex;
  align-items:center;
  gap:12px;
  transform:translate(-50%,-50%);
  border-radius:12px;
  background:#fff;
  color:#222b31;
  box-shadow:0 0 0 13px rgb(187 160 255 / .12);
}
.ecosystem-center img{width:46px;height:46px;border-radius:10px}
.ecosystem-center span{display:flex;flex-direction:column}
.ecosystem-center small{color:#68757c}
.ecosystem-node{
  --node-delay:0s;
  position:absolute;
  min-width:116px;
  padding:11px 13px;
  border-radius:10px;
  background:#25313a;
  color:#f5f5f6;
  animation:service-node-in 7s var(--ease-out) infinite;
  animation-delay:var(--node-delay);
}
.ecosystem-node b,.ecosystem-node small{display:block}
.ecosystem-node b{font-size:12px}.ecosystem-node small{margin-top:3px;color:#aab6bd;font-size:9px}
.ecosystem-node--film{left:7%;top:12%}
.ecosystem-node--site{right:6%;top:13%;--node-delay:.7s}
.ecosystem-node--search{right:5%;bottom:14%;--node-delay:1.4s}
.ecosystem-node--guests{left:6%;bottom:13%;--node-delay:2.1s}
.ecosystem-node--auto{left:50%;bottom:5%;transform:translateX(-50%);--node-delay:2.8s}
.ecosystem-dot{
  position:absolute;
  z-index:3;
  left:50%;
  top:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--service-accent);
  box-shadow:0 0 0 7px rgb(187 160 255 / .14);
  animation:service-orbit 7s linear infinite;
}

/* Animated graph section */
.service-page>.service-graphs{
  padding:122px var(--gutter)!important;
  background:#111015!important;
  color:#fff;
}
.service-section-heading{
  width:min(100%,920px);
  margin:0 auto 62px;
  text-align:center;
}
.service-section-heading h2{font-size:clamp(3.2rem,6vw,5.6rem);font-weight:700}
.service-section-heading p{margin:22px auto 0;color:#bbb8c0;font-size:18px}
.service-graph-grid{
  width:min(100%,var(--max));
  margin:auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.service-graph{
  min-height:430px;
  padding:30px;
  overflow:hidden;
  border-radius:14px;
  background:#211f25;
}
.service-graph--wide{grid-column:1/-1;min-height:500px}
.service-graph>header{position:relative;z-index:3;max-width:600px}
.service-graph>header span{color:var(--service-accent);font-size:12px;font-weight:750}
.service-graph>header h3{margin-top:10px;font-size:clamp(27px,3vw,40px);font-weight:650}
.service-graph>header p{margin-top:12px;color:#b9b6be;font-size:15px}
.graph-canvas{position:relative;margin-top:32px;min-height:250px}
.service-graph--wide .graph-canvas{min-height:295px}

.process-track{height:100%;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:center}
.process-track::before{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;background:#4d4952}
.process-step{
  --step-delay:0s;
  position:relative;
  z-index:1;
  min-height:150px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:12px;
  background:#2f2c33;
  animation:service-card-clip 8s var(--ease-out) infinite;
  animation-delay:var(--step-delay);
}
.process-step:nth-child(2){--step-delay:.8s}.process-step:nth-child(3){--step-delay:1.6s}.process-step:nth-child(4){--step-delay:2.4s}
.process-step i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;background:var(--service-accent);color:var(--service-accent-ink);font-style:normal;font-size:11px;font-weight:800}
.process-step b{font-size:15px}.process-step small{color:#aaa6af}

.frame-strip{height:240px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.frame-strip span{
  --frame-delay:0s;
  position:relative;
  overflow:hidden;
  border-radius:10px;
  background-position:center;
  background-size:cover;
  animation:service-frame-reveal 8s var(--ease-out) infinite;
  animation-delay:var(--frame-delay);
}
.frame-strip span:nth-child(1){background-image:url("../public/img/gallery-lakefront-living.jpg")}
.frame-strip span:nth-child(2){background-image:url("../public/img/gallery-alpine-bedroom.jpg");--frame-delay:.55s}
.frame-strip span:nth-child(3){background-image:url("../public/img/gallery-vineyard-terrace.jpg");--frame-delay:1.1s}
.frame-strip span:nth-child(4){background-image:url("../public/img/gallery-coastal-pool.jpg");--frame-delay:1.65s}
.frame-strip span::after{content:attr(data-label);position:absolute;left:10px;bottom:9px;color:#fff;font-size:10px;font-weight:750}

.channel-map{min-height:240px;display:grid;grid-template-columns:1fr 1.1fr 1fr;align-items:center;gap:18px}
.channel-source,.channel-outcome{display:flex;flex-direction:column;gap:10px}
.channel-source span,.channel-outcome span{padding:13px;border-radius:9px;background:#302d34;font-size:12px;font-weight:700;animation:service-slide-in 7s var(--ease-out) infinite}
.channel-outcome span:nth-child(2),.channel-source span:nth-child(2){animation-delay:.6s}
.channel-outcome span:nth-child(3),.channel-source span:nth-child(3){animation-delay:1.2s}
.channel-core{padding:22px 14px;border-radius:12px;background:var(--service-accent);color:var(--service-accent-ink);text-align:center;font-weight:800}
.channel-arrow{text-align:center;color:var(--service-accent);font-size:24px}

.pathway{min-height:250px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:center}
.pathway::before{content:"";position:absolute;left:8%;right:8%;top:50%;height:2px;background:#4d4952}
.pathway span{
  --path-delay:0s;
  position:relative;
  z-index:1;
  padding:18px 12px;
  border-radius:10px;
  background:#302d34;
  text-align:center;
  animation:service-path-node 8s var(--ease-out) infinite;
  animation-delay:var(--path-delay);
}
.pathway span:nth-child(2){--path-delay:.75s}.pathway span:nth-child(3){--path-delay:1.5s}.pathway span:nth-child(4){--path-delay:2.25s}
.pathway b,.pathway small{display:block}.pathway b{font-size:13px}.pathway small{margin-top:5px;color:#aaa6af;font-size:10px}

.query-stack{display:flex;flex-direction:column;gap:10px}
.query-stack span{
  --query-delay:0s;
  padding:14px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-radius:9px;
  background:#302d34;
  animation:service-query 8s var(--ease-out) infinite;
  animation-delay:var(--query-delay);
}
.query-stack span:nth-child(2){--query-delay:.7s}.query-stack span:nth-child(3){--query-delay:1.4s}.query-stack span:nth-child(4){--query-delay:2.1s}
.query-stack b{font-size:12px}.query-stack small{color:var(--service-accent);font-size:10px;font-weight:750}

.asset-layers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.asset-layers span{
  --layer-delay:0s;
  min-height:180px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-radius:10px;
  background:#302d34;
  animation:service-layer-rise 8s var(--ease-out) infinite;
  animation-delay:var(--layer-delay);
}
.asset-layers span:nth-child(2){--layer-delay:.7s}.asset-layers span:nth-child(3){--layer-delay:1.4s}
.asset-layers b{font-size:14px}.asset-layers small{margin-top:6px;color:#aaa6af}

.message-timeline{min-height:245px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-items:end}
.message-timeline span{
  --message-delay:0s;
  min-height:150px;
  padding:16px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-radius:10px 10px 0 0;
  background:#302d34;
  border-bottom:4px solid var(--service-accent);
  animation:service-timeline-rise 8s var(--ease-out) infinite;
  animation-delay:var(--message-delay);
}
.message-timeline span:nth-child(2){--message-delay:.65s}.message-timeline span:nth-child(3){--message-delay:1.3s}.message-timeline span:nth-child(4){--message-delay:1.95s}
.message-timeline b{font-size:13px}.message-timeline small{color:#aaa6af;font-size:10px}

.oversight-lanes{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:center}
.oversight-lane{padding:18px;border-radius:10px;background:#302d34}
.oversight-lane h4{font-size:14px}.oversight-lane span{display:block;margin-top:10px;padding:10px;border-radius:8px;background:#3b3740;color:#cbc8cf;font-size:11px;animation:service-slide-in 8s var(--ease-out) infinite}
.oversight-lane span:nth-child(3){animation-delay:.7s}.oversight-lane span:nth-child(4){animation-delay:1.4s}
.oversight-switch{width:68px;height:32px;padding:4px;border-radius:999px;background:var(--service-accent)}
.oversight-switch::after{content:"";display:block;width:24px;height:24px;border-radius:50%;background:#111015;animation:service-switch 6s var(--ease-out) infinite}

.system-web{min-height:270px}
.system-web svg{position:absolute;inset:0;width:100%;height:100%}
.system-web path{fill:none;stroke:#655f6c;stroke-width:2;stroke-dasharray:8 10}
.system-web .system-flow{stroke:var(--service-accent);stroke-width:3;stroke-dasharray:340;stroke-dashoffset:340;animation:service-line-draw 7s var(--ease-out) infinite}
.system-web-node{
  position:absolute;
  min-width:120px;
  padding:13px;
  border-radius:10px;
  background:#302d34;
  text-align:center;
  font-size:12px;
  font-weight:750;
  animation:service-node-in 7s var(--ease-out) infinite;
}
.system-web-node--film{left:4%;top:6%}.system-web-node--site{right:4%;top:8%}.system-web-node--search{right:3%;bottom:8%}.system-web-node--guests{left:3%;bottom:7%}
.system-web-node--core{left:50%;top:50%;transform:translate(-50%,-50%);background:var(--service-accent);color:var(--service-accent-ink)}

.ownership-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.ownership-flow span{
  --owner-delay:0s;
  min-height:190px;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  border-radius:10px;
  background:#302d34;
  animation:service-owner-fill 8s var(--ease-out) infinite;
  animation-delay:var(--owner-delay);
}
.ownership-flow span:nth-child(2){--owner-delay:.8s}.ownership-flow span:nth-child(3){--owner-delay:1.6s}
.ownership-flow b{font-size:15px}.ownership-flow small{margin-top:7px;color:#aaa6af}

.portfolio-track{display:flex;flex-direction:column;gap:10px}
.portfolio-track span{
  --portfolio-delay:0s;
  padding:15px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  border-radius:9px;
  background:#302d34;
  animation:service-portfolio 8s var(--ease-out) infinite;
  animation-delay:var(--portfolio-delay);
}
.portfolio-track span:nth-child(2){--portfolio-delay:.65s}.portfolio-track span:nth-child(3){--portfolio-delay:1.3s}.portfolio-track span:nth-child(4){--portfolio-delay:1.95s}
.portfolio-track b{font-size:13px}.portfolio-track small{color:var(--service-accent);font-size:10px;font-weight:750}

/* Deliverables, related services and CTA */
.service-page>.service-deliverables{
  padding:124px var(--gutter)!important;
  background:#f3f3f5!important;
}
.service-deliverables-grid{
  width:min(100%,var(--max));
  margin:auto;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(60px,8vw,130px);
}
.service-deliverables-copy h2{font-size:clamp(3.2rem,5.5vw,5.2rem);font-weight:700}
.service-deliverables-copy p{margin-top:22px;color:#5d5764;font-size:18px}
.service-fit{
  margin-top:34px;
  padding:20px;
  border-radius:12px;
  background:var(--service-accent);
  color:var(--service-accent-ink);
}
.service-fit strong{display:block;margin-bottom:6px}
.deliverable-list{margin:0;padding:0;list-style:none;border-top:1px solid #cbc8cf}
.deliverable-list li{
  padding:24px 2px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:18px;
  border-bottom:1px solid #cbc8cf;
}
.deliverable-list>li>span{color:#77717e;font-size:13px;font-weight:750}
.deliverable-list h3{font-size:24px;font-weight:650}
.deliverable-list p{margin-top:8px;color:#5f5966;font-size:15px}

.service-page>.service-related{padding:100px var(--gutter)!important;background:#fff!important}
.service-related-inner{width:min(100%,var(--max));margin:auto}
.service-related h2{max-width:880px;font-size:clamp(3rem,5vw,4.8rem);font-weight:700}
.service-related-nav{margin-top:48px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #cbc8cf;border-bottom:1px solid #cbc8cf}
.service-related-nav a{
  min-height:180px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border-right:1px solid #cbc8cf;
  color:var(--ink);
  text-decoration:none;
  transition:background-color .35s var(--ease),color .35s var(--ease);
}
.service-related-nav a:last-child{border-right:0}
.service-related-nav a[aria-current="page"]{background:#eceaee;pointer-events:none}
.service-related-nav a:not([aria-current="page"]):hover{background:var(--service-accent);color:var(--service-accent-ink)}
.service-related-nav small{color:#746e7a;font-size:11px;font-weight:750}
.service-related-nav strong{max-width:220px;font-size:20px;line-height:1.05}
.service-related-nav span{font-size:18px}

.service-page>.service-cta{
  min-height:560px;
  padding:100px var(--gutter)!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:var(--service-accent)!important;
  color:var(--service-accent-ink);
}
.service-cta h2{max-width:1050px;font-size:clamp(3.8rem,7vw,6.8rem);font-weight:750}
.service-cta p{margin:24px auto 0;font-size:18px}
.service-cta .btn{margin-top:34px;background:#111015;color:#fff}

/* Jitter-inspired slide, clip and timeline motion */
@keyframes service-window-in{
  0%,10%{clip-path:inset(0 100% 0 0);transform:translateX(-18px)}
  24%,86%{clip-path:inset(0);transform:none}
  100%{clip-path:inset(0 0 0 100%);transform:translateX(18px)}
}
@keyframes service-profile-in{
  0%,28%{opacity:0;transform:translateY(24px)}
  42%,88%{opacity:1;transform:none}
  100%{opacity:0;transform:translateY(-10px)}
}
@keyframes service-flow-step{
  0%,12%{background:#e7ebed;transform:translateX(-8px);opacity:.55}
  22%,70%{background:#dff5e7;transform:none;opacity:1}
  88%,100%{background:#e7ebed;opacity:.7}
}
@keyframes service-node-in{
  0%,12%{opacity:.28;filter:blur(5px)}
  24%,82%{opacity:1;filter:none}
  100%{opacity:.38}
}
@keyframes service-orbit{
  from{transform:translate(-50%,-50%) rotate(0deg) translateX(150px)}
  to{transform:translate(-50%,-50%) rotate(360deg) translateX(150px)}
}
@keyframes service-card-clip{
  0%,12%{clip-path:inset(0 100% 0 0);opacity:.45}
  24%,82%{clip-path:inset(0);opacity:1}
  100%{opacity:.55}
}
@keyframes service-frame-reveal{
  0%,10%{clip-path:inset(100% 0 0);filter:saturate(.2)}
  24%,82%{clip-path:inset(0);filter:none}
  100%{filter:saturate(.35)}
}
@keyframes service-slide-in{
  0%,12%{opacity:.25;transform:translateX(-16px)}
  24%,82%{opacity:1;transform:none}
  100%{opacity:.45;transform:translateX(8px)}
}
@keyframes service-path-node{
  0%,12%{opacity:.32;transform:scale(.94)}
  24%,78%{opacity:1;transform:none;box-shadow:inset 0 -4px 0 var(--service-accent)}
  100%{opacity:.5}
}
@keyframes service-query{
  0%,12%{opacity:.2;clip-path:inset(0 100% 0 0)}
  24%,80%{opacity:1;clip-path:inset(0)}
  100%{opacity:.42}
}
@keyframes service-layer-rise{
  0%,12%{opacity:.3;transform:translateY(20px)}
  24%,82%{opacity:1;transform:none}
  100%{opacity:.5;transform:translateY(-4px)}
}
@keyframes service-timeline-rise{
  0%,12%{opacity:.25;transform:scaleY(.4);transform-origin:bottom}
  24%,82%{opacity:1;transform:scaleY(1)}
  100%{opacity:.5}
}
@keyframes service-switch{
  0%,20%{transform:translateX(0)}
  38%,78%{transform:translateX(36px)}
  100%{transform:translateX(0)}
}
@keyframes service-line-draw{
  0%,10%{stroke-dashoffset:340}
  34%,82%{stroke-dashoffset:0}
  100%{stroke-dashoffset:-340}
}
@keyframes service-owner-fill{
  0%,12%{opacity:.3;clip-path:inset(100% 0 0)}
  24%,82%{opacity:1;clip-path:inset(0)}
  100%{opacity:.5}
}
@keyframes service-portfolio{
  0%,12%{opacity:.25;transform:translateX(24px)}
  24%,82%{opacity:1;transform:none}
  100%{opacity:.45;transform:translateX(-8px)}
}

@media(max-width:1120px){
  .service-page>.service-hero{grid-template-columns:1fr;min-height:auto}
  .service-hero-copy{max-width:820px}
  .service-hero-stage{min-height:560px}
  .service-deliverables-grid{grid-template-columns:1fr;gap:54px}
  .service-related-nav{grid-template-columns:repeat(2,1fr)}
  .service-related-nav a:nth-child(2){border-right:0}
  .service-related-nav a:nth-child(-n+2){border-bottom:1px solid #cbc8cf}
}

@media(max-width:720px){
  .service-page>.service-hero{padding:126px 20px 64px!important;gap:42px}
  .service-hero h1{font-size:clamp(3.4rem,15.5vw,5.1rem)}
  .service-hero-stage{min-height:470px}
  .service-hero-stage>img,.service-hero-stage>video{height:470px}
  .service-stage-copy{left:20px;right:20px;bottom:20px}
  .service-stage-copy em{display:none}
  .growth-stage{padding:16px}
  .growth-window{inset:16px 28px 86px 16px}
  .growth-profile-card{right:12px;bottom:22px;width:72%}
  .automation-stage,.ecosystem-stage{padding:16px}
  .automation-console{min-height:438px;padding:18px}
  .automation-console-flow span{padding:11px;grid-template-columns:26px 1fr}
  .automation-console-flow small{display:none}
  .ecosystem-orbit{height:438px}
  .ecosystem-ring--one{width:92%}.ecosystem-ring--two{width:61%}
  .ecosystem-center{width:158px}
  .ecosystem-node{min-width:94px;padding:9px}
  .ecosystem-node--film{left:3%;top:9%}.ecosystem-node--site{right:2%;top:10%}.ecosystem-node--search{right:2%;bottom:11%}.ecosystem-node--guests{left:2%;bottom:10%}
  .ecosystem-dot{animation-name:service-orbit-mobile}
  .ecosystem-stage .service-stage-copy{
    left:0;
    right:0;
    bottom:0;
    padding:56px 20px 18px;
    background:linear-gradient(180deg,transparent 0,#101419 52%);
  }
  .service-page>.service-graphs,.service-page>.service-deliverables,.service-page>.service-related{padding:82px 20px!important}
  .service-section-heading{text-align:left;margin-bottom:38px}
  .service-section-heading h2{font-size:clamp(3rem,13vw,4.5rem)}
  .service-section-heading p{margin-inline:0}
  .service-graph-grid{grid-template-columns:1fr}
  .service-graph--wide{grid-column:auto}
  .service-graph{min-height:auto;padding:22px}
  .service-graph--wide{min-height:auto}
  .process-track,.pathway{grid-template-columns:1fr 1fr}
  .process-track::before,.pathway::before{display:none}
  .process-step{min-height:120px}
  .frame-strip{grid-template-columns:1fr 1fr;height:360px}
  .channel-map{grid-template-columns:1fr}
  .channel-arrow{transform:rotate(90deg)}
  .asset-layers,.ownership-flow{grid-template-columns:1fr}
  .asset-layers span,.ownership-flow span{min-height:120px}
  .message-timeline{grid-template-columns:1fr 1fr}
  .oversight-lanes{grid-template-columns:1fr}
  .oversight-switch{margin:auto;transform:rotate(90deg)}
  .system-web{min-height:340px}
  .system-web-node{min-width:98px;padding:10px;font-size:10px}
  .service-deliverables-copy h2{font-size:clamp(3rem,13vw,4.4rem)}
  .service-related-nav{grid-template-columns:1fr}
  .service-related-nav a{min-height:135px;border-right:0;border-bottom:1px solid #cbc8cf}
  .service-related-nav a:nth-child(-n+2){border-bottom:1px solid #cbc8cf}
  .service-related-nav a:last-child{border-bottom:0}
  .service-page>.service-cta{min-height:500px;padding:82px 20px!important}
  .service-cta h2{font-size:clamp(3.5rem,15vw,5.2rem)}
}

@keyframes service-orbit-mobile{
  from{transform:translate(-50%,-50%) rotate(0deg) translateX(110px)}
  to{transform:translate(-50%,-50%) rotate(360deg) translateX(110px)}
}

@media(prefers-reduced-motion:reduce){
  .service-page *,.service-page *::before,.service-page *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
  }
}

/* Launch-ready service pages: concise hero, one static flow and one CTA. */
.service-page>.launch-hero{
  width:min(100%,var(--max));
  min-height:760px;
  margin-inline:auto;
  padding:148px var(--gutter) 92px!important;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr);
  align-items:center;
  gap:clamp(48px,7vw,104px);
  background:#f3f3f5!important;
}
.service-page>.launch-hero--compact{
  min-height:640px;
  grid-template-columns:minmax(0,880px);
  justify-content:center;
  text-align:center;
}
.launch-hero--compact .launch-hero-copy{margin-inline:auto}
.launch-hero--compact .service-breadcrumb,
.launch-hero--compact .service-kicker{margin-inline:auto}
.launch-hero--compact .service-actions{justify-content:center}
.launch-hero-copy{max-width:680px}
.launch-hero-copy h1{
  max-width:760px;
  font-size:clamp(3.5rem,6vw,5.8rem);
  font-weight:750;
  line-height:.94;
  letter-spacing:-.038em;
  text-wrap:balance;
}
.launch-hero-copy>p:not(.service-kicker){
  max-width:620px;
  margin-top:26px;
  color:#56505f;
  font-size:clamp(18px,1.7vw,22px);
  line-height:1.5;
  text-wrap:pretty;
}
.launch-hero--compact .launch-hero-copy>p:not(.service-kicker){margin-inline:auto}
.launch-photo{
  position:relative;
  min-height:560px;
  margin:0;
  overflow:hidden;
  border-radius:16px;
  background:#19171c;
}
.launch-photo::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:34%;
  background:linear-gradient(180deg,transparent,rgb(9 8 12 / .78));
  pointer-events:none;
}
.launch-photo img{
  width:100%;
  height:560px;
  display:block;
  object-fit:cover;
}
.launch-photo--ecosystem img{object-position:60% center}
.launch-photo figcaption{
  position:absolute;
  z-index:1;
  left:26px;
  right:26px;
  bottom:24px;
  color:#fff;
  font-size:clamp(20px,2vw,28px);
  font-weight:650;
}

.service-page>.launch-flow{
  padding:112px var(--gutter)!important;
  background:#111015!important;
  color:#fff;
}
.launch-flow-heading{
  width:min(100%,820px);
  margin:0 auto 58px;
  text-align:center;
}
.launch-flow-heading h2{
  font-size:clamp(3rem,5.5vw,5.4rem);
  font-weight:700;
  line-height:.96;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.launch-flow-heading p{
  max-width:680px;
  margin:22px auto 0;
  color:#d1ced5;
  font-size:18px;
  line-height:1.55;
  text-wrap:pretty;
}
.launch-flow-list{
  width:min(100%,var(--max));
  margin:0 auto;
  padding:0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  list-style:none;
}
.launch-flow-list--three{
  width:min(100%,1040px);
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.launch-flow-list li{
  position:relative;
  min-width:0;
  padding:26px clamp(18px,2.5vw,34px) 8px;
  border-top:2px solid #4a4650;
}
.launch-flow-list li::before{
  content:"";
  position:absolute;
  top:-7px;
  left:clamp(18px,2.5vw,34px);
  width:12px;
  height:12px;
  border-radius:50%;
  background:var(--service-accent);
}
.launch-flow-list li+li::after{
  content:"";
  display:inline-block;
  width:21px;height:21px;
  -webkit-mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.4%207.15C5.4%206.6%208.4%207.45%2011.35%206.95%22%2F%3E%3Cpath%20d%3D%22M8.55%204.15%2011.65%207.05%208.45%209.9%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain;
  mask:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2.4%207.15C5.4%206.6%208.4%207.45%2011.35%206.95%22%2F%3E%3Cpath%20d%3D%22M8.55%204.15%2011.65%207.05%208.45%209.9%22%2F%3E%3C%2Fsvg%3E') no-repeat center/contain;
  background:currentColor;
  position:absolute;
  top:-20px;
  left:-8px;
  color:#aaa5af;
  font-size:21px;
  line-height:1;
}
.launch-flow-number{
  color:var(--service-accent);
  font-size:13px;
  font-weight:750;
}
.launch-flow-list strong,
.launch-flow-list small{display:block}
.launch-flow-list strong{
  margin-top:24px;
  font-size:clamp(20px,2vw,27px);
  line-height:1.05;
  text-wrap:balance;
}
.launch-flow-list small{
  max-width:27ch;
  margin-top:12px;
  color:#c5c1ca;
  font-size:15px;
  line-height:1.5;
  text-wrap:pretty;
}

.service-page>.launch-cta{
  width:min(100%,var(--max));
  min-height:360px;
  margin-inline:auto;
  padding:82px var(--gutter)!important;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:48px;
  background:var(--service-accent)!important;
  color:var(--service-accent-ink);
}

.service-page--ecosystem>.launch-cta{
  width:100%;
  padding-inline:max(
    var(--gutter),
    calc((100vw - var(--max)) / 2 + var(--gutter))
  )!important;
}
.launch-cta div{max-width:850px}
.launch-cta h2{
  font-size:clamp(2.8rem,5vw,4.8rem);
  font-weight:750;
  line-height:.96;
  letter-spacing:-.035em;
  text-wrap:balance;
}
.launch-cta p{
  max-width:660px;
  margin-top:18px;
  font-size:18px;
  line-height:1.5;
}
.launch-cta .btn{
  flex:0 0 auto;
  background:#111015;
  color:#fff;
}

@media(max-width:1000px){
  .service-page>.launch-hero{
    min-height:auto;
    grid-template-columns:1fr;
    padding-top:136px!important;
  }
  .launch-hero-copy{max-width:800px}
  .launch-photo{min-height:520px}
  .launch-photo img{height:520px}
  .service-page>.launch-hero--compact{min-height:600px}
}

@media(max-width:720px){
  .service-page>.launch-hero{
    padding:118px 20px 64px!important;
    gap:40px;
  }
  .service-page>.launch-hero--compact{min-height:560px}
  .launch-hero-copy h1{font-size:clamp(3.15rem,14.5vw,4.7rem)}
  .launch-photo{min-height:400px}
  .launch-photo img{height:400px}
  .launch-photo figcaption{left:20px;right:20px;bottom:18px}
  .service-page>.launch-flow{padding:82px 20px!important}
  .launch-flow-heading{margin-bottom:46px;text-align:left}
  .launch-flow-heading h2{font-size:clamp(2.9rem,13vw,4.2rem)}
  .launch-flow-heading p{margin-inline:0}
  .launch-flow-list,
  .launch-flow-list--three{grid-template-columns:1fr}
  .launch-flow-list li{
    padding:10px 0 38px 42px;
    border-top:0;
    border-left:2px solid #4a4650;
  }
  .launch-flow-list li:last-child{padding-bottom:0;border-left-color:transparent}
  .launch-flow-list li::before{top:3px;left:-7px}
  .launch-flow-list li+li::after{
    -webkit-mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.15%202.4C6.6%205.4%207.45%208.4%206.95%2011.35%22%2F%3E%3Cpath%20d%3D%22M4.15%208.55%207.05%2011.65%209.9%208.45%22%2F%3E%3C%2Fsvg%3E');
    mask-image:url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2014%2014%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.15%202.4C6.6%205.4%207.45%208.4%206.95%2011.35%22%2F%3E%3Cpath%20d%3D%22M4.15%208.55%207.05%2011.65%209.9%208.45%22%2F%3E%3C%2Fsvg%3E');
    top:-28px;left:-9px;
  }
  .launch-flow-list strong{margin-top:10px}
  .launch-flow-list small{max-width:38ch}
  .service-page>.launch-cta{
    min-height:420px;
    padding:70px 20px!important;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:30px;
  }
  .launch-cta h2{font-size:clamp(2.9rem,13vw,4.3rem)}
}
