/* PROCESS CHAMBER / a native-scroll transformation of the existing four stages. */
body[data-page="home"] { --ih-process-ready:1; }
/* Prevent the old sticky scene's browser anchor from overriding its native handoff. */
html.ih-restoring,html.ih-restoring body { overflow-anchor:none!important; }
.ih-atmosphere,.ih-navigation { display:none; }
.ih-object,.ih-copy { display:contents; }
@media(min-width:761px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
 body[data-page="home"] #process.ih-active {
  height:460svh; min-height:0; padding:0; overflow:clip;
  background:var(--bg); --ih-accent:116,161,159;
 }
 body[data-page="home"] #process.ih-active>.shell {
  display:block; width:100%; max-width:none; height:100svh; min-height:700px;
  position:sticky; top:0; margin:0; overflow:clip; isolation:isolate;
 }
 #process.ih-active .ih-atmosphere { display:block; position:absolute; inset:0; pointer-events:none; user-select:none; }
 .ih-atmosphere::before {
  content:''; position:absolute; inset:0; opacity:.8;
  background:radial-gradient(ellipse at 68% 41%,rgba(var(--ih-accent),.20),transparent 46%),linear-gradient(180deg,transparent 50%,rgba(0,0,0,.16));
 }
 .ih-light-column {
  position:absolute; width:28%; height:130%; top:-17%; left:57%;
  background:linear-gradient(90deg,transparent,rgba(var(--ih-accent),.075),rgba(229,245,232,.09),transparent);
  transform:translate3d(var(--ih-light-x,0px),0,0) skewX(-19deg);
 }
 .ih-floor {
  position:absolute; width:72%; height:43%; left:36%; bottom:-16%; border-radius:50%;
  background:radial-gradient(ellipse at center,rgba(var(--ih-accent),.19),rgba(var(--ih-accent),.025) 47%,transparent 69%);
  border:1px solid rgba(var(--ih-accent),.16);
  transform:perspective(700px) rotateX(61deg) rotateZ(-8deg) scale(var(--ih-floor-scale,1));
 }
 .ih-foreground { position:absolute; inset:0; width:100%; height:100%; z-index:4; opacity:.72; transform:translate3d(0,var(--ih-arc-y,0px),0); }
 body[data-page="home"] #process.ih-active .process-heading {
  position:absolute; top:clamp(105px,12svh,155px); left:var(--gutter); width:32%; z-index:5;
  transform:none!important; opacity:1!important; transition:none;
 }
 body[data-page="home"] #process.ih-active .process-heading .eyebrow { margin:0 0 34px; }
 body[data-page="home"] #process.ih-active .process-heading .section-title { font-size:clamp(43px,4.25vw,74px); line-height:1.03; letter-spacing:-.062em; }
 body[data-page="home"] #process.ih-active .steps { position:absolute; inset:0; width:100%; height:100%; margin:0; perspective:1350px; perspective-origin:68% 48%; z-index:2; }
 body[data-page="home"] #process.ih-active .step {
  position:absolute; inset:0; display:block; width:100%; height:100%; min-height:0;
  border:0; padding:0; margin:0; background:none; box-shadow:none;
  opacity:1!important; transform:none!important; transition:none!important; pointer-events:none; transform-style:preserve-3d;
 }
 #process.ih-active .ih-object {
  display:block; position:absolute; left:67.5%; top:49%; width:min(70vw,90svh); height:auto; aspect-ratio:1;
  margin:0; transform-origin:50% 50%; opacity:var(--ih-object-opacity,0); backface-visibility:hidden;
  transform:translate3d(calc(-50% + var(--ih-object-x,0px)),calc(-50% + var(--ih-object-y,0px)),var(--ih-object-z,0px)) rotateY(var(--ih-object-yaw,0deg)) rotateZ(var(--ih-object-roll,0deg)) scale(var(--ih-object-scale,1));
 }
 body[data-page="home"] #process.ih-active .ih-object>.ch-process-art { display:block; width:100%; height:100%; max-width:none; margin:0; }
 #process.ih-active .ih-object .ch-process-art svg { filter:drop-shadow(0 45px 40px rgba(0,0,0,.32)); }
 #process.ih-active .ih-copy {
  display:block; position:absolute; left:var(--gutter); top:55%; width:29%; max-width:405px; z-index:5;
  opacity:var(--ih-copy-opacity,0); transform:translate3d(0,var(--ih-copy-y,0px),0); pointer-events:none;
  transition:opacity .18s ease;
 }
 #process.ih-active .ih-copy>i { display:block; font:400 10px/1.4 var(--disp); font-style:normal; color:var(--fg-dim); letter-spacing:.15em; }
 body[data-page="home"] #process.ih-active .ih-copy>h3 { font:400 clamp(48px,5.1vw,87px)/1.06 var(--disp); letter-spacing:-.06em; margin:15px 0 23px; color:var(--fg); }
 body[data-page="home"] #process.ih-active .ih-copy>p { font-size:13px; line-height:1.9; max-width:350px; color:var(--fg-dim); margin:0; }
 #process.ih-active .ih-navigation {
  display:flex; position:absolute; z-index:8; left:var(--gutter); right:var(--gutter); bottom:35px;
  align-items:center; gap:clamp(20px,3vw,52px); padding-top:21px; border-top:1px solid var(--hair);
 }
 .ih-navigation button {
  display:flex; align-items:center; gap:12px; padding:9px 0; color:var(--fg-dim);
  background:none; border:0; font:400 10px/1.4 var(--disp); letter-spacing:.07em; text-transform:uppercase; cursor:pointer;
 }
 .ih-navigation button::before { content:''; width:6px; height:6px; border:1px solid currentColor; border-radius:50%; transition:background .2s; }
 .ih-navigation button[aria-current="step"] { color:var(--fg); }
 .ih-navigation button[aria-current="step"]::before { background:currentColor; }
 .ih-navigation button:focus-visible { outline:2px solid currentColor; outline-offset:6px; }
 .ih-nav-number { opacity:.6; }
 .ih-navigation .ih-nav-note { margin-left:auto; color:var(--fg-dim); font:400 9px/1.4 var(--disp); letter-spacing:.1em; text-transform:uppercase; }
 html[data-theme="light"] #process.ih-active .ih-atmosphere::before { background:radial-gradient(ellipse at 68% 41%,rgba(var(--ih-accent),.22),transparent 46%),linear-gradient(180deg,transparent 50%,rgba(85,96,84,.05)); }
 html[data-theme="light"] #process.ih-active .ih-foreground { opacity:.19; }
 html[data-theme="light"] #process.ih-active .ih-object .ch-process-art svg { filter:drop-shadow(0 45px 35px rgba(26,47,45,.2)); }
}
@media(min-width:761px) and (max-width:999px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
 body[data-page="home"] #process.ih-active .process-heading { top:95px; width:calc(100% - var(--gutter)*2); }
 body[data-page="home"] #process.ih-active .process-heading .eyebrow { margin-bottom:23px; }
 body[data-page="home"] #process.ih-active .process-heading .section-title { font-size:clamp(38px,5.6vw,55px); line-height:1; }
 body[data-page="home"] #process.ih-active .process-heading .section-title br { display:none; }
 body[data-page="home"] #process.ih-active .process-heading .section-title .muted { display:block; }
 body[data-page="home"] #process.ih-active .steps { perspective-origin:53% 48%; perspective:1250px; }
 #process.ih-active .ih-object { left:52%; top:48%; width:min(88vw,59svh); }
 #process.ih-active .ih-copy { top:auto; bottom:126px; width:calc(100% - var(--gutter)*2); max-width:none; display:grid; grid-template-columns:.8fr 1.2fr; gap:8px 9%; align-items:start; }
 #process.ih-active .ih-copy>i { grid-column:1; margin:0; }
 body[data-page="home"] #process.ih-active .ih-copy>h3 { grid-column:1; grid-row:2; font-size:clamp(46px,6.1vw,60px); margin:0; }
 body[data-page="home"] #process.ih-active .ih-copy>p { grid-column:2; grid-row:1/3; max-width:380px; font-size:12px; line-height:1.85; }
 #process.ih-active .ih-navigation { bottom:28px; gap:25px; }
 .ih-navigation button { gap:8px; font-size:9px; }
 .ih-navigation .ih-nav-note { font-size:8px; }
 .ih-floor { width:115%; height:32%; left:-8%; bottom:10%; }
 .ih-light-column { left:40%; width:40%; }
 .ih-foreground { opacity:.46; }
}
@media(min-width:1000px) and (max-height:800px) and (min-height:700px) and (prefers-reduced-motion:no-preference) {
 body[data-page="home"] #process.ih-active .process-heading { top:100px; }
 body[data-page="home"] #process.ih-active .process-heading .section-title { font-size:clamp(43px,3.8vw,61px); }
 #process.ih-active .ih-copy { top:53%; }
 body[data-page="home"] #process.ih-active .ih-copy>h3 { font-size:55px; margin:12px 0 16px; }
 body[data-page="home"] #process.ih-active .ih-copy>p { font-size:12px; line-height:1.8; }
}
@media(min-width:761px) and (max-width:999px) and (min-height:700px) and (max-height:850px) and (prefers-reduced-motion:no-preference) {
 body[data-page="home"] #process.ih-active .process-heading { top:86px; }
 body[data-page="home"] #process.ih-active .process-heading .eyebrow { margin-bottom:18px; }
 body[data-page="home"] #process.ih-active .process-heading .section-title { font-size:39px; }
 #process.ih-active .ih-object { top:47%; width:min(82vw,50svh); }
 #process.ih-active .ih-copy { bottom:113px; }
 body[data-page="home"] #process.ih-active .ih-copy>h3 { font-size:46px; }
 body[data-page="home"] #process.ih-active .ih-copy>p { line-height:1.75; }
}
