/* End-to-end process page — unified UI system */
.process-page{--process-radius:14px;--process-pad:clamp(24px,3.2vw,48px);background:var(--bg)}
.process-page main{overflow:hidden}

/* Hero */
.process-hero{position:relative;padding:92px 0 56px;border-bottom:1px solid var(--line);overflow:hidden}
.process-hero:before{content:"";position:absolute;width:620px;height:620px;right:-110px;bottom:-360px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--fabs-magenta) 12%,transparent),transparent 68%);pointer-events:none}
.process-hero-grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(42px,6vw,90px);align-items:end}
.process-hero h1{max-width:760px;margin:18px 0 0;font-size:clamp(50px,6.2vw,86px);line-height:.96;letter-spacing:-.055em}
.process-hero-copy{max-width:620px;padding-bottom:4px}
.process-hero-copy p{margin:0;font-size:18px;line-height:1.62;color:var(--muted)}
.process-hero-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}
.process-hero-pills span{padding:8px 11px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--surface) 92%,transparent);font-size:10px;font-weight:750;color:var(--muted)}

/* Step navigation */
.process-index{position:sticky;top:var(--nav-h);z-index:30;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(18px)}
.process-index-inner{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;padding:10px 0}
.process-index a{position:relative;min-width:0;padding:10px 8px;border-radius:6px;text-align:center;font-size:10px;font-weight:760;color:var(--muted);white-space:nowrap;transition:color .2s ease,background .2s ease}
.process-index a:hover{color:var(--text);background:var(--surface-2)}
.process-index a.is-active{color:var(--detail);background:color-mix(in srgb,var(--detail) 7%,var(--surface))}
.process-index a.is-active:after{content:"";position:absolute;left:24%;right:24%;bottom:3px;height:2px;border-radius:2px;background:var(--detail)}

/* Intro */
.process-intro{padding:52px 0 22px}
.process-intro-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(42px,6vw,84px);align-items:start}
.process-intro h2{max-width:660px;margin:12px 0 0;font-size:clamp(34px,4vw,50px);line-height:1.03;letter-spacing:-.045em}
.process-intro p{max-width:650px;margin:0;font-size:16px;line-height:1.65;color:var(--muted)}
.process-principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.process-principle{min-height:118px;padding:18px 20px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.process-principle strong{display:block;font-size:13px;line-height:1.35}
.process-principle span{display:block;margin-top:7px;font-size:11px;line-height:1.55;color:var(--muted)}
.process-intro-compact{padding-bottom:10px}

/* Slideshow */
.process-slideshow{padding:22px 0 72px}
.process-slider-shell{position:relative}
.process-slider-stage{position:relative;border:1px solid var(--line);border-radius:var(--process-radius);background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 97%,transparent),color-mix(in srgb,var(--bg) 97%,transparent));box-shadow:0 28px 80px rgba(0,0,0,.12);overflow:hidden}
.process-slider-stage:before{content:"";position:absolute;right:-130px;top:-190px;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--detail) 10%,transparent),transparent 68%);pointer-events:none}
.process-slider-stage .process-detail{display:none;position:absolute;inset:0;padding:clamp(34px,4vw,54px) clamp(72px,7vw,104px);border:0!important;background:transparent!important;overflow:visible}
.process-slider-stage .process-detail.is-active{display:block;position:relative;z-index:2}
.process-slider-stage .process-detail-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(40px,5vw,72px);align-items:start}
.process-slider-stage .process-step-side{position:static;min-width:0}
.process-step-number{font-size:11px;font-weight:850;letter-spacing:.14em;color:var(--detail)}
.process-step-icon{width:68px;height:68px;margin:20px 0 26px;border:1px solid color-mix(in srgb,var(--detail) 38%,var(--line));border-radius:17px;background:var(--surface);display:grid;place-items:center;box-shadow:0 16px 36px rgba(0,0,0,.08)}
.process-step-icon svg{width:28px;height:28px;fill:none;stroke:var(--detail);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.process-step-side h2{max-width:100%;margin:0;font-size:clamp(32px,3.25vw,46px);line-height:1.02;letter-spacing:-.045em;overflow-wrap:anywhere;hyphens:auto}
.process-step-side>p{max-width:400px;margin:18px 0 0;font-size:14px;line-height:1.65;color:var(--muted)}
.process-content-lead{max-width:760px;margin:0 0 26px;font-size:clamp(20px,2vw,27px);line-height:1.32;letter-spacing:-.025em;overflow-wrap:anywhere}
.process-content-columns{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px;align-items:stretch}
.process-panel{min-width:0;min-height:0;padding:22px 24px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 96%,transparent)}
.process-panel-label{font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase;color:var(--detail)}
.process-panel h3{margin:13px 0 11px;font-size:18px;line-height:1.2;overflow-wrap:anywhere}
.process-panel p{margin:0;font-size:12.5px;line-height:1.58;color:var(--muted)}
.process-list{display:grid;margin-top:20px;border-top:1px solid var(--line)}
.process-list div{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;padding:11px 0;border-bottom:1px solid var(--line);font-size:11px;line-height:1.4}
.process-list i{font-style:normal;font-weight:800;color:var(--detail)}
.process-impact{margin-top:16px;padding:17px 20px;border-left:3px solid var(--detail);background:color-mix(in srgb,var(--detail) 5%,var(--surface));font-size:12px;line-height:1.55;color:var(--muted)}
.process-impact strong{color:var(--text)}

/* Compact balanced slide layout */
.process-slider-stage .process-slide-compact{padding:34px 76px 34px}
.process-compact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:stretch;min-height:560px}
.process-compact-left,.process-compact-right{min-width:0}
.process-compact-left{display:flex;flex-direction:column}
.process-compact-left .process-step-icon{margin:18px 0 22px}
.process-compact-left h2{margin:0;max-width:470px;font-size:clamp(34px,3.4vw,48px);line-height:.98;letter-spacing:-.05em}
.process-compact-left>p{max-width:480px;margin:16px 0 22px;font-size:14px;line-height:1.58;color:var(--muted)}
.process-slide-media{position:relative;margin-top:auto;min-height:220px;border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--surface)}
.process-slide-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(4,9,16,.62));pointer-events:none}
.process-slide-media img{width:100%;height:100%;min-height:220px;display:block;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.process-slide-media span{position:absolute;left:16px;bottom:14px;z-index:2;padding:6px 8px;border:1px solid rgba(255,255,255,.24);border-radius:4px;background:rgba(7,12,20,.48);backdrop-filter:blur(8px);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.process-slide-media:hover img{transform:scale(1.035)}
.process-compact-right{display:flex;flex-direction:column;justify-content:center;padding:12px 0}
.process-compact-kicker{font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--detail)}
.process-compact-right h3{max-width:540px;margin:16px 0 24px;font-size:clamp(28px,2.8vw,40px);line-height:1.02;letter-spacing:-.04em}
.process-action-list{display:grid;gap:10px}
.process-action-list div{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:14px;min-height:62px;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--surface) 96%,transparent)}
.process-action-list span{font-size:11px;font-weight:850;color:var(--detail)}
.process-action-list strong{font-size:14px;line-height:1.35}
.process-factor{margin-top:16px;padding:18px 20px;border-left:3px solid var(--detail);background:color-mix(in srgb,var(--detail) 5%,var(--surface));border-radius:0 8px 8px 0}
.process-factor span{display:block;margin-bottom:6px;font-size:9px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:var(--detail)}
.process-factor p{margin:0;font-size:12.5px;line-height:1.5;color:var(--muted)}

/* Controls sit inside the card so they can never clip outside the viewport */
.process-arrow{position:absolute;z-index:9;top:50%;width:48px;height:48px;margin-top:-24px;border-radius:50%;border:1px solid color-mix(in srgb,var(--detail) 35%,var(--line));background:color-mix(in srgb,var(--surface) 96%,transparent);color:var(--text);font-size:20px;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.10);backdrop-filter:blur(12px);transition:transform .2s ease,border-color .2s ease,background .2s ease,opacity .2s ease}
.process-arrow-prev{left:16px}.process-arrow-next{right:16px}
.process-arrow:hover:not(:disabled){transform:scale(1.06);border-color:var(--detail);background:color-mix(in srgb,var(--detail) 8%,var(--surface))}
.process-arrow:disabled{opacity:.24;cursor:default}
.process-slider-footer{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:center;margin:16px 4px 0}
.process-slider-progress{height:2px;background:var(--line);overflow:hidden}
.process-slider-progress span{display:block;height:100%;width:12.5%;background:linear-gradient(90deg,var(--fabs-magenta),var(--fabs-yellow),var(--fabs-green));transition:width .45s cubic-bezier(.2,.75,.2,1)}
.process-slider-count{display:flex;align-items:baseline;gap:5px;min-width:52px}
.process-slider-count strong{font-size:18px;color:var(--detail)}
.process-slider-count span,.process-slider-hint{font-size:10px;color:var(--muted)}

/* Final CTA */
.process-final{padding:66px 0 88px}
.process-final-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;padding:40px 44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);align-items:center}
.process-final h2{margin:12px 0 0;font-size:clamp(36px,4.3vw,54px);line-height:1.03;letter-spacing:-.045em}
.process-final p{margin:0 0 22px;font-size:16px;line-height:1.6;color:var(--muted)}

/* Transitions */
@keyframes processSlideInRight{from{opacity:0;transform:translateX(34px)}to{opacity:1;transform:none}}
@keyframes processSlideInLeft{from{opacity:0;transform:translateX(-34px)}to{opacity:1;transform:none}}
@keyframes processSlideOutLeft{from{opacity:1;transform:none}to{opacity:0;transform:translateX(-26px)}}
@keyframes processSlideOutRight{from{opacity:1;transform:none}to{opacity:0;transform:translateX(26px)}}
.process-slide.slide-in-right{animation:processSlideInRight .42s cubic-bezier(.2,.75,.2,1)}
.process-slide.slide-in-left{animation:processSlideInLeft .42s cubic-bezier(.2,.75,.2,1)}
.process-slide.slide-out-left{display:block!important;animation:processSlideOutLeft .3s ease forwards;pointer-events:none}
.process-slide.slide-out-right{display:block!important;animation:processSlideOutRight .3s ease forwards;pointer-events:none}

html[data-theme="light"] .process-slider-stage{box-shadow:0 24px 64px rgba(20,31,48,.10)}
html[data-theme="light"] .process-panel,html[data-theme="light"] .process-action-list div{background:rgba(255,255,255,.88)}

@media(prefers-reduced-motion:reduce){.process-slide{animation:none!important}.process-slider-progress span{transition:none}.process-arrow{transition:none}}
@media(max-width:1040px){
  .process-index-inner{display:flex;overflow-x:auto;scrollbar-width:none}.process-index-inner::-webkit-scrollbar{display:none}.process-index a{flex:none;padding-left:12px;padding-right:12px}
  .process-hero-grid,.process-intro-grid,.process-final-box{grid-template-columns:1fr;gap:30px}
  .process-principles{grid-template-columns:1fr 1fr 1fr}
  .process-slider-stage .process-detail{padding:34px 72px}
  .process-slider-stage .process-detail-grid{grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:38px}
  .process-step-side h2{font-size:clamp(30px,4vw,40px)}
  .process-content-columns{grid-template-columns:1fr}
  .process-compact-grid{gap:26px;min-height:520px}
  .process-slider-stage .process-slide-compact{padding:32px 66px}
  .process-slide-media{min-height:190px}.process-slide-media img{min-height:190px}
}
@media(max-width:760px){
  .process-hero{padding:72px 0 44px}.process-hero h1{font-size:clamp(46px,12vw,64px)}.process-hero-copy p{font-size:16px}
  .process-intro{padding-top:38px}.process-principles{grid-template-columns:1fr}.process-principle{min-height:0}
  .process-slideshow{padding-top:10px}
  .process-slider-stage .process-detail{padding:72px 22px 26px}
  .process-slider-stage .process-detail-grid{grid-template-columns:1fr;gap:26px}
  .process-step-icon{width:56px;height:56px;margin:16px 0 20px}.process-step-icon svg{width:24px;height:24px}
  .process-step-side h2{font-size:clamp(30px,9vw,42px)}
  .process-step-side>p{font-size:13px}.process-content-lead{font-size:20px}.process-panel{padding:19px}.process-content-columns{gap:10px}
  .process-arrow{top:18px;margin:0;width:40px;height:40px}.process-arrow-prev{left:18px}.process-arrow-next{right:18px}
  .process-slider-footer{grid-template-columns:minmax(0,1fr) auto}.process-slider-hint{display:none}
  .process-final{padding:54px 0 70px}.process-final-box{padding:25px}
  .process-slider-stage .process-slide-compact{padding:70px 18px 20px}
  .process-compact-grid{grid-template-columns:1fr;gap:24px;min-height:0}
  .process-compact-left h2{font-size:clamp(32px,9vw,42px)}
  .process-slide-media{min-height:170px}.process-slide-media img{min-height:170px}
  .process-compact-right{padding:0}.process-compact-right h3{font-size:28px;margin-bottom:18px}
  .process-action-list div{min-height:56px;padding:12px 14px}.process-factor{margin-top:12px}
}
