@font-face { font-family:'DLPT Newsreader'; src:url('./fonts/newsreader-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DLPT Newsreader'; src:url('./fonts/newsreader-latin-400-italic.woff2') format('woff2'); font-weight:400; font-style:italic; font-display:swap; }
@font-face { font-family:'DLPT Manrope'; src:url('./fonts/manrope-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
@font-face { font-family:'DLPT Manrope'; src:url('./fonts/manrope-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
@font-face { font-family:'DLPT Manrope'; src:url('./fonts/manrope-latin-700-normal.woff2') format('woff2'); font-weight:700; font-style:normal; font-display:swap; }
@font-face { font-family:'DLPT IBM Plex Mono'; src:url('./fonts/ibm-plex-mono-latin-500-normal.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap; }
#dl-process-thrive{position:relative;display:block;width:100%;max-width:none;margin:0;border:0;isolation:isolate;overflow:clip;text-align:left;font:var(--dl-body-m);color:var(--dl-text);background:transparent;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;--dl-process-heading-size:clamp(32px,3.4vw,44px);--dl-process-intro-size:clamp(16px,1.25vw,18px);--dl-process-stage-title-size:clamp(23px,2.25vw,31px);--dl-process-body-size:15px;--dl-process-close-size:clamp(32px,3.4vw,44px)}
#dl-process-thrive,#dl-process-thrive *,#dl-process-thrive *::before,#dl-process-thrive *::after{box-sizing:border-box}
#dl-process-thrive :is(h2,h3,p,ol,li,figure,figcaption,div,canvas,svg){margin-top:0}
#dl-process-thrive .dl-process__intro .dl-display-l{font-size:var(--dl-process-heading-size)}
#dl-process-thrive .dl-process__intro .dl-lead{font-size:var(--dl-process-intro-size)}
#dl-process-thrive .dl-process__action{font-size:var(--dl-process-stage-title-size)}
#dl-process-thrive .dl-process__station .dl-body{font-size:var(--dl-process-body-size)}
#dl-process-thrive .dl-process__close-final{font-size:var(--dl-process-close-size)}
#dl-process-thrive {
  --dl-body-m: 400 15px/1.6 var(--dl-sans);
  --dl-text: #0A2540;
  --dl-white: #FFFFFF;
  --dl-maxw: 1280px;
  --dl-gutter: clamp(20px, 4vw, 56px);
  --dl-eyebrow: 500 12px/1.2 var(--dl-mono);
  --dl-teal: #007E9E;
  --dl-display-l: 400 clamp(32px, 3.4vw, 44px)/1.12 var(--dl-serif);
  --dl-ink: #0A2540;
  --dl-cyan-run-large: linear-gradient(100deg, #0092B2 0%, #009DBC 50%, #00A1BE 100%);
  --dl-lit: drop-shadow(0 0 5px rgba(34,201,224,.62)) drop-shadow(0 0 18px rgba(34,201,224,.42));
  --dl-title-m: 700 clamp(20px, 1.6vw, 24px)/1.3 var(--dl-sans);
  --dl-slate: #47616F;
  --dl-body-l: 400 clamp(16px, 1.25vw, 18px)/1.6 var(--dl-sans);
  --dl-settle: 240ms;
  --dl-ease-out: cubic-bezier(.16,.84,.44,1);
  --dl-bloom: 600ms;
  --dl-ease: cubic-bezier(.22,.61,.36,1);
  --dl-rhythm-l: clamp(96px, 12vw, 160px);
  --dl-serif: 'DLPT Newsreader', Georgia, serif;
  --dl-e2: 0 22px 48px -30px rgba(14,86,120,.50);
  --dl-e3: 0 40px 80px -40px rgba(14,86,120,.55);
  --dl-sans: 'DLPT Manrope', system-ui, -apple-system, sans-serif;
  --dl-mono: 'DLPT IBM Plex Mono', ui-monospace, SFMono-Regular, monospace;
}

#dl-process-thrive .dl-grain {
  position: absolute; inset: 0;
  z-index: 5; pointer-events: none;
  opacity: .045; mix-blend-mode: overlay;
  background-image: url('./assets/grain.png');
  background-size: 256px 256px;
}

#dl-process-thrive .dl-shell {
  position: relative; z-index: 2;
  width: 100%; max-width: var(--dl-maxw);
  margin-inline: auto;
  padding-inline: var(--dl-gutter);
}

#dl-process-thrive .dl-visually-hidden {
  position: absolute; width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  clip-path: inset(50%); overflow: hidden; white-space: nowrap;
}



#dl-process-thrive .dl-eyebrow {
  font: var(--dl-eyebrow);
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--dl-teal);
  margin: 0;
}
#dl-process-thrive .dl-display-l { font: var(--dl-display-l); letter-spacing: -.018em; color: var(--dl-ink); margin: 0; }


#dl-process-thrive .dl-hot, #dl-process-thrive .dl-display-l em {
  background: var(--dl-cyan-run-large);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
  filter: var(--dl-lit);
}
#dl-process-thrive .dl-display-l em { font-style: italic; }


#dl-process-thrive .dl-title {
  font: var(--dl-title-m); letter-spacing: -.012em; margin: 0;
  color: var(--dl-teal);
}
#dl-process-thrive .dl-body { font: var(--dl-body-m); color: var(--dl-slate); margin: 0; }
#dl-process-thrive .dl-lead { font: var(--dl-body-l); color: var(--dl-slate); margin: 0; }



#dl-process-thrive [data-dl-enter] { opacity: 0; }
#dl-process-thrive [data-dl-enter="settle"] {
  transform: translateY(4px);
  transition: opacity var(--dl-settle) var(--dl-ease-out) var(--dl-delay, 0ms),
              transform var(--dl-settle) var(--dl-ease-out) var(--dl-delay, 0ms);
}
#dl-process-thrive [data-dl-enter="bloom"] {
  transform: scale(.97);
  transition: opacity var(--dl-bloom) var(--dl-ease) var(--dl-delay, 0ms),
              transform var(--dl-bloom) var(--dl-ease) var(--dl-delay, 0ms);
}
#dl-process-thrive .dl-in[data-dl-enter] { opacity: 1; transform: none; }

#dl-process-thrive {
  position: relative;
  background: var(--dl-white);
  z-index: 1;
}

#dl-process-thrive::before {
  content: ''; position: absolute; left: 0; right: 0; top: 0; height: 160px;
  background: linear-gradient(to bottom, #F0F6F9, rgba(240,246,249,0));
  pointer-events: none; z-index: 2;
}

#dl-process-thrive .dl-sec {
  position: relative;
  padding-block: var(--dl-rhythm-l);
}


#dl-process-thrive .dl-sec__gl {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  display: block;
  background: var(--dl-white);
  pointer-events: none;
}

#dl-process-thrive .dl-sec .dl-shell { position: relative; z-index: 3; }
#dl-process-thrive .dl-process{overflow:clip;padding:var(--dl-process-section-gap,96px) 0}

#dl-process-thrive .dl-process__intro{padding:0!important}
#dl-process-thrive .dl-process__intro h2,#dl-process-thrive .dl-process__station h3,#dl-process-thrive .dl-process__station p,#dl-process-thrive .dl-process__invitation{padding:0!important;margin:0!important}
#dl-process-thrive .dl-process__intro h2{margin-inline:auto!important}
#dl-process-thrive .dl-process__station{padding:0!important;list-style:none!important}
#dl-process-thrive .dl-process__copy{padding:0!important;list-style:none!important}
#dl-process-thrive .dl-process__run{position:relative;height:calc(390svh + var(--dl-process-pin-height,100svh))}
#dl-process-thrive .dl-process__pin{position:sticky;top:max(0px,calc((100svh - var(--dl-process-pin-height,100svh))/2));height:var(--dl-process-pin-height,100svh);overflow:hidden;display:flex;flex-direction:column;padding:32px 0;gap:24px}
#dl-process-thrive .dl-process__pin .dl-sec__gl{position:absolute;inset:0}
#dl-process-thrive .dl-process__intro{position:relative;z-index:2;flex:none;width:calc(100% - 48px);max-width:1000px;margin-inline:auto;text-align:center}
#dl-process-thrive .dl-process__intro .dl-display-l{font-size:var(--dl-process-heading-size);line-height:1.12;letter-spacing:-.018em;max-width:34ch;margin:0 auto;text-wrap:balance}
#dl-process-thrive .dl-process__story{position:relative;flex:1;min-height:0;display:grid;place-items:start center;width:100%}
#dl-process-thrive .dl-process__invitation{position:absolute;z-index:2;top:var(--dl-process-invitation-top,24%);left:50%;transform:translateX(-50%);width:max-content;max-width:calc(100% - 40px);margin:0;font:italic 400 var(--dl-process-invitation-size)/1.3 var(--dl-serif);color:var(--dl-teal);text-shadow:none;opacity:0;visibility:hidden;--write:0%;--pen:0}
#dl-process-thrive .dl-process__invitation>span,#dl-process-thrive .dl-process__action>span{display:block;clip-path:inset(-20px calc(100% - var(--write)) -20px -20px);white-space:nowrap}
#dl-process-thrive .dl-process__invitation i,#dl-process-thrive .dl-process__action>i{position:absolute;left:var(--write);top:12%;height:80%;width:2px;opacity:var(--pen);background:#dcfcff;box-shadow:0 0 8px 3px #46d6e9,0 0 22px 6px #85e6f2;border-radius:50%;transform:rotate(12deg)}
#dl-process-thrive .dl-process__deck{position:relative;display:flex;flex-direction:column;align-items:center;width:100%;max-width:1280px;margin:0 auto;padding:0;gap:44px;opacity:0;--media-width:70vw}
#dl-process-thrive .dl-process__artifact{order:0;position:relative;width:var(--media-width);flex:none;min-width:0;margin:0;padding:0;border:0;border-radius:var(--dl-process-media-radius);background:transparent;box-shadow:var(--dl-e2);transition:box-shadow 700ms ease}
#dl-process-thrive .dl-process__artifact.is-made{box-shadow:var(--dl-e3),0 10px 44px -12px rgba(34,201,224,.4)}
#dl-process-thrive .dl-process__view{position:relative;width:100%;aspect-ratio:16/9;border:0;border-radius:inherit;overflow:hidden;background:transparent;box-shadow:none}
#dl-process-thrive .dl-process__stack{display:block;width:100%;height:100%}
#dl-process-thrive .dl-process__copy{order:1;position:relative;list-style:none;width:min(calc(100% - 48px),640px);padding:0;margin:0}
#dl-process-thrive .dl-process__station{position:absolute;inset:0 auto auto 0;width:100%;margin:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;opacity:0;transition:opacity 180ms ease,transform 240ms ease}
#dl-process-thrive .dl-process__station:first-child{opacity:1}
#dl-process-thrive .dl-process__action{position:relative;width:max-content;max-width:100%;font:italic 400 var(--dl-process-stage-title-size)/1.3 var(--dl-serif);letter-spacing:0;color:var(--dl-teal);text-shadow:none;margin:0;--write:100%;--pen:0}
#dl-process-thrive .dl-process__number{font:inherit;color:inherit}
#dl-process-thrive .dl-process__station .dl-body{font-size:var(--dl-process-body-size);line-height:1.55;color:var(--dl-slate);max-width:60ch;text-wrap:pretty;margin:0;padding-left:0}
#dl-process-thrive .dl-process__cap{position:relative;display:grid;margin:0;text-align:center;color:var(--dl-slate);font:400 14px/1.5 var(--dl-sans)}
#dl-process-thrive .dl-process__cap span{grid-area:1/1;opacity:0;transition:opacity 260ms ease}
#dl-process-thrive .dl-process__cap span:not(:empty){padding-top:12px}
#dl-process-thrive .dl-process__cap span.is-on{opacity:1}
@media(max-width:880px){
 #dl-process-thrive .dl-process__pin{padding:32px 0;gap:24px}
 #dl-process-thrive .dl-process__intro{width:calc(100% - 40px)}
 #dl-process-thrive .dl-process__intro .dl-display-l{max-width:30ch}
 #dl-process-thrive .dl-process__deck{gap:46px}
 #dl-process-thrive .dl-process__artifact{border-radius:12px}
 #dl-process-thrive .dl-process__copy{width:calc(100% - 48px);max-width:600px}
 #dl-process-thrive .dl-process__invitation{font-size:var(--dl-process-invitation-size)}
 #dl-process-thrive .dl-process__station .dl-body{padding-left:0}
}
@media(max-width:880px) and (max-height:640px){
 #dl-process-thrive .dl-process__pin{padding:16px 0;gap:16px}
 #dl-process-thrive .dl-process__deck{gap:32px}
 #dl-process-thrive .dl-process__station{gap:6px}
 #dl-process-thrive .dl-process__station .dl-body{line-height:1.45}
}
@media(max-width:880px) and (max-height:500px) and (orientation:landscape){
 #dl-process-thrive .dl-process__pin{padding:16px 0;gap:16px}
 #dl-process-thrive .dl-process__intro{max-width:720px}
 #dl-process-thrive .dl-process__intro .dl-display-l{font-size:28px}
 #dl-process-thrive .dl-process__deck{flex-direction:row;justify-content:center;gap:24px;width:calc(100% - 48px)}
 #dl-process-thrive .dl-process__copy{width:40%;max-width:350px}
 #dl-process-thrive .dl-process__station .dl-body{font-size:15px}
 #dl-process-thrive .dl-process__invitation{transform:translate(-50%,-50%)}
 #dl-process-thrive .dl-process__story{align-items:center}
}
@media(prefers-reduced-motion:reduce){
 html:not(.dl-motion) #dl-process-thrive .dl-process__station{transition:none}
 html:not(.dl-motion) #dl-process-thrive .dl-process__invitation i,html:not(.dl-motion) #dl-process-thrive .dl-process__action>i{display:none}
 html:not(.dl-motion) #dl-process-thrive .dl-process__seam::before,html:not(.dl-motion) #dl-process-thrive .dl-process__seam::after,html:not(.dl-motion) #dl-process-thrive .dl-process__seam>b,html:not(.dl-motion) #dl-process-thrive .dl-process__seam>b::after{animation:none}
}



#dl-process-thrive .dl-process__invitation.is-written>span,#dl-process-thrive .dl-process__action.is-written>span{clip-path:none}#dl-process-thrive .dl-process__seam {
  position: absolute;
  top: -5%; bottom: -5%;
  left: -10%;
  width: 0;
  opacity: var(--ignite, 0);
  transition: opacity 200ms ease;
  pointer-events: none;
  z-index: 6;
}
#dl-process-thrive .dl-process__seam::before {
  content: '';
  position: absolute; top: 0; bottom: 0; left: -1.25px;
  width: 2.5px; border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    rgba(223, 246, 255, .95) 14%,
    #FFFFFF 46%,
    rgba(223, 246, 255, .95) 82%,
    transparent);
  
  box-shadow:
    0 0 8px rgba(34, 201, 224, .95),
    0 0 26px rgba(34, 201, 224, .55),
    -8px 0 11px -3px rgba(111, 231, 220, .75),
    9px 0 12px -3px rgba(154, 140, 240, .6),
    0 0 62px rgba(111, 231, 220, .38);
  animation: dl-proc-strand-a 2.3s ease-in-out infinite;
}
#dl-process-thrive .dl-process__seam::after {
  content: '';
  position: absolute; top: 7%; bottom: 12%; left: 3px;
  width: 1.5px; border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    rgba(111, 231, 220, .9) 22%,
    rgba(223, 251, 255, .95) 55%,
    rgba(111, 231, 220, .85) 80%,
    transparent);
  box-shadow: 0 0 6px rgba(111, 231, 220, .7), 0 0 16px rgba(34, 201, 224, .35);
  transform: rotate(1.6deg);
  animation: dl-proc-strand-b 3.4s ease-in-out infinite;
}
#dl-process-thrive .dl-process__seam > b {
  position: absolute;
  top: var(--st, 10%); bottom: var(--sb, 8%);
  left: var(--sx, -5px);
  width: var(--sw, 1.5px); border-radius: 2px;
  background: linear-gradient(180deg,
    transparent,
    var(--sc1) 24%,
    var(--sc2) 52%,
    var(--sc1) 78%,
    transparent);
  box-shadow: 0 0 6px var(--sg);
  transform: rotate(var(--sr, 0deg));
  animation: dl-proc-strand-sway var(--sd, 2.8s) ease-in-out var(--sdel, 0s) infinite;
}
#dl-process-thrive .dl-process__seam > b::after {
  content: '';
  position: absolute; left: -0.5px; right: -0.5px; height: 22%;
  border-radius: inherit;
  background: linear-gradient(180deg, transparent, rgba(255, 255, 255, .95), transparent);
  animation: dl-proc-crest var(--sd, 2.8s) linear var(--sdel, 0s) infinite;
}
#dl-process-thrive .dl-process__seam > b:nth-of-type(1) {
  --sx: -5px; --sr: -2.1deg; --st: 13%; --sb: 6%; --sdel: -1.3s;
  --sc1: rgba(154, 140, 240, .85); --sc2: rgba(255, 183, 214, .9);
  --sg: rgba(154, 140, 240, .6); --so: .8;
}
#dl-process-thrive .dl-process__seam > b:nth-of-type(2) {
  --sx: -9px; --sr: 1.3deg; --st: 5%; --sb: 15%; --sw: 1px; --sd: 3.1s; --sdel: -2.2s;
  --sc1: rgba(133, 214, 255, .8); --sc2: rgba(236, 250, 255, .95);
  --sg: rgba(34, 201, 224, .5); --so: .6;
}
#dl-process-thrive .dl-process__seam > b:nth-of-type(3) {
  --sx: 7px; --sr: -1deg; --st: 18%; --sb: 4%; --sw: 1px; --sd: 2.5s; --sdel: -0.6s;
  --sc1: rgba(251, 211, 107, .75); --sc2: rgba(255, 240, 205, .9);
  --sg: rgba(251, 211, 107, .5); --so: .55;
}

@keyframes dl-proc-strand-a {
  0%, 100% { opacity: .85; transform: scaleY(.985); }
  50%      { opacity: 1;   transform: scaleY(1.01); }
}
@keyframes dl-proc-strand-b {
  0%, 100% { opacity: .55; transform: rotate(1.6deg) translateY(-3px); }
  45%      { opacity: 1;   transform: rotate(1.6deg) translateY(3px); }
}
@keyframes dl-proc-strand-sway {
  0%, 100% { opacity: var(--so, .7); transform: rotate(var(--sr, 0deg)) translateX(0); }
  50%      { opacity: 1;             transform: rotate(var(--sr, 0deg)) translateX(2px); }
}
@keyframes dl-proc-crest {
  0%   { top: -24%; opacity: 0; }
  18%  { opacity: 1; }
  82%  { opacity: .9; }
  100% { top: 102%; opacity: 0; }
}
#dl-process-thrive,#dl-process-thrive .dl-process,#dl-process-thrive .dl-process__pin{background:transparent}
#dl-process-thrive::before{display:none}
#dl-process-thrive .dl-sec__gl{background:transparent}

/* Page-owned background; retain local light, media and card surfaces. */
#dl-process-thrive::before,#dl-process-thrive > .dl-grain{display:none!important}
#dl-process-thrive,#dl-process-thrive .dl-sec,#dl-process-thrive .dl-sec__gl{background:transparent}
