/* Homepage composition follows approved responsive specification 05 and brand system 06. */
.recovery{--signal:#ef4936;--ivory:#f3f0e8}
.recovery .site-header{height:76px;padding:16px clamp(24px,4.2vw,80px);background:#071511ed}
.recovery .site-header nav{gap:34px}
.recovery .site-header nav button{background:var(--ivory);color:#12251f;min-width:150px}
.hero{position:relative;min-height:680px;height:50vw;max-height:960px;isolation:isolate;background:#061310;overflow:hidden;display:flex;align-items:center;padding:120px clamp(32px,4.2vw,80px) 92px}
.hero-architecture{position:absolute;z-index:-2;width:100%;height:100%;inset:0;object-fit:cover;object-position:center}
.hero:after{content:"";position:absolute;z-index:-1;inset:0;background:transparent;pointer-events:none}
.hero-copy{width:58%;max-width:950px;position:relative}
.hero-wordmark{display:block;width:min(100%,770px);height:auto;mix-blend-mode:screen;filter:brightness(1.1) contrast(1.3);margin:0 0 22px}
.hero h1{font-size:clamp(34px,3.7vw,72px);line-height:1.02;font-weight:600;letter-spacing:-.052em;margin:0 0 20px;max-width:800px}
.signal-dot{color:var(--signal)}
.hero-intro{font-size:clamp(15px,1.4vw,23px);line-height:1.5;margin:0;max-width:560px;letter-spacing:-.01em}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:26px;margin-top:30px}
.hero-actions .primary{margin:0;min-width:216px;display:flex;justify-content:space-between;gap:38px;font-size:13px;font-weight:500}
.journey-link{font-size:12px;text-decoration:none;min-height:48px;display:flex;align-items:center;gap:16px}
.journey-link:hover{text-decoration:underline}
.recovery-approach{padding:70px clamp(32px,4.2vw,80px) 46px;background:#f0ece3}
.approach-intro{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end}
.rule-label{display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.22em;margin-bottom:20px}
.rule-label:before{content:"";width:34px;height:3px;display:block;background:var(--signal);flex-shrink:0}
.approach-intro h2{font-size:clamp(32px,3.4vw,58px);line-height:1.02;margin:0;max-width:740px}
.approach-intro>p{font-size:14px;line-height:1.75;max-width:460px;margin:0 0 3px;color:#405047}
.capability-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:40px;border-top:1px solid #12251f30}
.capability-grid article{padding:24px 24px 0;border-right:1px solid #12251f30;min-width:0}
.capability-grid article:first-child{padding-left:0}.capability-grid article:last-child{padding-right:0;border:0}
.capability{width:100%;display:grid;grid-template-columns:25px 1fr 20px;gap:14px;align-items:start;text-align:left;background:transparent;border:0;padding:0 0 22px;color:#12251f;min-height:76px}
.capability-number{font-size:10px;line-height:1.8}
.capability-copy strong{display:block;font-size:16px;letter-spacing:.08em;margin-bottom:10px}
.capability-copy>span{display:block;font-size:12px;line-height:1.5;color:#405047}
.capability-arrow{font-size:22px;line-height:1.1}.capability:hover .capability-arrow{color:#bd3625}
.capability-image{width:100%;height:clamp(170px,16vw,310px);object-fit:cover;object-position:center 58%;display:block;background:#071511}
.recovery-approach .scope-note{margin:26px 0 0;font-size:11px;max-width:800px}
.journey-intro{padding:70px clamp(32px,4.2vw,80px) 64px;border-bottom:1px solid #f3f0e824;scroll-margin-top:76px}
.journey-intro h2{font-size:clamp(30px,3.7vw,58px);margin:12px 0 20px}
.journey-intro>p:not(.eyebrow){font-size:16px;color:#c0c9c1;line-height:1.7;max-width:560px}
.journey-intro>a{display:inline-flex;align-items:center;gap:12px;font-size:12px;min-height:44px;margin-top:10px}
.recovery .scene-progress{position:absolute;top:88px;left:50%;transform:translateX(-50%);width:min(480px,60vw);height:2px;appearance:none;border:0;background:#f3f0e833;color:var(--signal)}
.scene-progress::-webkit-progress-bar{background:#f3f0e833}.scene-progress::-webkit-progress-value{background:var(--signal)}.scene-progress::-moz-progress-bar{background:var(--signal)}
.journey-end{padding:46px 32px 55px;text-align:center;border-top:1px solid #f3f0e833;scroll-margin-top:76px}
.journey-end>p{font-size:clamp(24px,2.5vw,40px);letter-spacing:-.04em}.journey-end>a{display:block;min-height:44px;font-size:12px;width:fit-content;margin:auto}
.recovery .work,.recovery .contact{padding-left:clamp(32px,4.2vw,80px);padding-right:clamp(32px,4.2vw,80px)}
@media(min-width:1600px){.hero-copy{width:58%}.hero-wordmark{width:850px;max-width:100%}}
@media(max-width:1000px)and (min-width:601px){.hero{height:720px;min-height:0;padding-left:32px;padding-right:32px}.hero-copy{width:58%}.hero h1{font-size:40px}.hero-wordmark{margin-bottom:20px}.hero-intro{max-width:320px;font-size:17px}.hero-actions{gap:12px}.hero-actions .primary{min-width:190px}.approach-intro{gap:36px;grid-template-columns:1.1fr 1fr}.approach-intro h2{font-size:36px}.capability-grid article{padding-left:15px;padding-right:15px}.capability{gap:7px;grid-template-columns:20px 1fr 14px}.capability-copy strong{font-size:13px}.capability-copy>span{font-size:11px}.capability-image{height:190px}}
@media(max-width:600px){
  .recovery .site-header{height:62px;padding:9px 20px;background:#071511f7}.recovery .site-header .home img{width:101px}.recovery .menu-toggle{border:0;padding:0 0 0 20px;font-size:11px;min-height:44px}
  .hero{display:flex;flex-direction:column;align-items:stretch;padding:92px 0 0;height:auto;min-height:0;max-height:none;overflow:visible}.hero:after{display:none}
  .hero-copy{width:auto;max-width:none;margin:0 20px}.hero-wordmark{width:100%;max-width:410px;height:auto;margin-bottom:17px}.hero h1{font-size:clamp(34px,8.7vw,48px);max-width:350px;line-height:1.01;margin-bottom:14px;letter-spacing:-.045em}.hero-intro{font-size:14px;line-height:1.4;max-width:260px}
  .hero-actions{display:flex;align-items:stretch;flex-direction:column;gap:3px;margin-top:25px}.hero-actions .primary{width:100%;min-height:49px;padding:13px 22px;justify-content:space-between;font-size:12px}.journey-link{min-height:45px;font-size:11px;gap:13px}
  .hero-architecture{position:relative;z-index:auto;display:block;width:100%;height:auto;aspect-ratio:1.42;object-fit:cover;object-position:right center;margin-top:7px}
  .recovery-approach{padding:29px 20px 30px}.approach-intro{display:block}.rule-label{font-size:8px;gap:13px;margin-bottom:15px}.rule-label:before{width:26px;height:2px}.approach-intro h2{font-size:clamp(25px,6.6vw,35px);line-height:1.04;letter-spacing:-.045em}.approach-intro>p{font-size:12px;line-height:1.65;margin-top:18px;max-width:420px}
  .capability-grid{grid-template-columns:1fr;margin-top:19px;border:0}.capability-grid article,.capability-grid article:first-child,.capability-grid article:last-child{padding:0;border:0;border-bottom:1px solid #12251f25}.capability{padding:18px 0;min-height:77px;grid-template-columns:22px 1fr 18px;gap:11px;align-items:center}.capability-copy strong{font-size:12px;margin-bottom:5px;letter-spacing:.04em}.capability-copy>span{font-size:11px}.capability-number{font-size:9px}.capability-arrow{font-size:20px}.capability-image{display:none}.recovery-approach .scope-note{margin-top:20px;font-size:10px;line-height:1.6}
  .journey-intro{padding:38px 20px 34px;scroll-margin-top:62px}.journey-intro h2{font-size:31px;line-height:1.06;max-width:340px}.journey-intro>p:not(.eyebrow){font-size:13px;line-height:1.6}.journey-intro>a{font-size:11px;margin-top:0}
  .recovery .scene-progress{top:74px;width:55vw}.recovery .scene-caption{font-size:7px;gap:10px;letter-spacing:.06em}.recovery .scene-caption a{font-size:9px}.journey-end{padding:30px 20px 36px;scroll-margin-top:62px}.journey-end>p{font-size:28px}.recovery .work,.recovery .contact{padding-left:20px;padding-right:20px}
}
@media(prefers-reduced-motion:reduce){.recovery .scene-progress{display:none}}
.motion-off .scene-progress{display:none}

.mobile-title-break{display:none}
@media(max-width:600px){.mobile-title-break{display:block}}

/* Reversible architectural beats. The unmodified approved image is the registration plate. */
.recovery .scene{height:340svh;scroll-margin-top:-78px}
.recovery .scene-sticky{padding:100px 5vw 100px;gap:7vw;justify-content:center}
.scene-story{width:28%;max-width:360px;flex-shrink:0}
.story-title{font-size:clamp(30px,3.1vw,52px);font-weight:600;line-height:1.04;letter-spacing:-.045em;margin:0 0 28px}
.story-copy{font-size:14px;line-height:1.75;max-width:290px;color:#c5cdc7}
.phase-steps{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px;font-size:9px;letter-spacing:.10em;color:#81968b}
.phase-step{padding-top:12px;border-top:2px solid #617067}
.phase-step[aria-current=step]{color:#f3f0e8;border-color:#ef4936}
.recovery .poster{transform-origin:50% 50%;height:100%;max-width:60%;overflow:visible;background:transparent}
.recovery .poster-4{height:auto;width:min(72vw,1100px);max-width:72%}
.recovery .scene-4 .scene-story{max-width:235px;width:19%}
.recovery .architecture{perspective:1800px;transform-style:preserve-3d}
.registration-plate{filter:brightness(.36)}
.recovery .live-signal{filter:brightness(1.7);mix-blend-mode:screen}
.recovery .scene-caption{left:auto;right:5vw;bottom:25px;max-width:70%;gap:20px}
.phase-label{color:#ef745e;min-width:85px}
.recovery .scene-progress{left:5vw;transform:none;width:90vw;top:85px}
.recovery .motion-tools{left:5vw;right:5vw}
.recovery .motion-tools span{display:none}
.recovery .motion-off .scene{height:auto;min-height:100svh}
.recovery .motion-off .poster{transform:none!important}
@media(max-width:1000px)and (min-width:601px){.recovery .scene-sticky{gap:3vw;padding-left:4vw;padding-right:4vw}.scene-story{width:27%}.story-title{font-size:30px}.story-copy{font-size:12px}.recovery .poster{max-width:65%}.phase-steps{font-size:8px;gap:8px}}
@media(max-width:600px){
 .recovery .scene{height:370svh;scroll-margin-top:-65px}
 .recovery .scene-sticky{flex-direction:column;justify-content:center;gap:16px;padding:88px 0 155px;min-height:640px}
 .scene-story,.recovery .scene-4 .scene-story{width:100%;max-width:none;padding:0 20px}
 .scene-story .eyebrow{font-size:8px;margin:0 0 8px}.story-title{font-size:23px;line-height:1.05;max-width:300px;margin:0}.story-copy{display:none}
 .phase-steps{margin-top:14px;gap:21px;font-size:8px}.phase-step{padding-top:6px}
 .recovery .poster{width:auto;height:min(54svh,520px);max-width:100%;aspect-ratio:1086/1448;flex-shrink:1}
 .recovery .poster-4{width:100%;height:auto;max-width:100%;aspect-ratio:1448/1086}
 .recovery .scene-4 .scene-sticky{gap:36px}
 .recovery .scene-caption{right:20px;left:20px;bottom:67px;max-width:none;justify-content:space-between;gap:8px;letter-spacing:0}
 .recovery .scene-caption>span:not(.phase-label){display:none}.phase-label{font-size:9px}
 .recovery .motion-tools{left:20px;right:20px;bottom:118px}
 .recovery .scene-progress{top:72px;left:20px;width:calc(100vw - 40px)}
}
@media(prefers-reduced-motion:reduce){.recovery .scene{height:auto;min-height:100svh}.recovery .poster{transform:none!important}.phase-steps{display:none}}
/* A single pinned stage carries all four compositions through a shared crossfade. */
.recovery .cinematic-journey{position:relative;height:1160svh}
.recovery .journey-stage{position:sticky;top:0;height:100svh;isolation:isolate;overflow:hidden}
.recovery .cinematic-journey .scene{position:absolute;inset:0;height:100%;min-height:0;background:transparent;opacity:0}
.recovery .cinematic-journey .scene-sticky{position:absolute;inset:0;height:100%;min-height:0}
.poster-type-plate{clip-path:polygon(evenodd,0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,0% 18%,0% 73%,100% 73%,100% 18%,0% 18%)}
.type-4{clip-path:polygon(evenodd,0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,0% 23%,0% 68%,100% 68%,100% 23%,0% 23%)}
.recovery.motion-off .cinematic-journey{height:auto}
.recovery.motion-off .journey-stage{position:static;height:auto;overflow:visible}
.recovery.motion-off .cinematic-journey .scene{position:relative;inset:auto;min-height:100svh;opacity:1!important}
.recovery.motion-off .cinematic-journey .scene-sticky{position:relative;min-height:100svh}
.motion-inspection .site-header,.motion-inspection .hero,.motion-inspection .recovery-approach,.motion-inspection .journey-intro,.motion-inspection .journey-end,.motion-inspection .work,.motion-inspection .contact,.motion-inspection footer,.motion-inspection .motion-tools{display:none}
.recovery.motion-inspection .cinematic-journey{height:100svh}
.motion-inspection .journey-stage{position:relative}
@media(max-width:600px){.recovery .cinematic-journey{height:1440svh}.recovery.motion-inspection .cinematic-journey{height:100svh}}
@media(prefers-reduced-motion:reduce){.recovery .cinematic-journey{height:auto!important}.recovery .journey-stage{position:static;height:auto;overflow:visible}.recovery .cinematic-journey .scene{position:relative;min-height:100svh;opacity:1!important}.recovery .cinematic-journey .scene-sticky{position:relative;min-height:100svh}}
/* Occlusion order: the enclosure closes over its drawing and core. */
.layer-roof{z-index:5}.layer-blueprint{z-index:4}.layer-core{z-index:3}.layer-module{z-index:6}
.registration-plate{filter:brightness(.68)}
.poster-window{display:contents}
@media(max-width:600px){
 .window-4{display:block;position:relative;width:100%;height:53svh;min-height:300px;overflow:hidden;flex-shrink:0}
 .recovery .window-4 .poster-4{position:absolute;left:50%;top:50%;max-width:none;height:auto;flex-shrink:0}
 .recovery.motion-off .window-4{height:auto;min-height:0;aspect-ratio:1448/1086}
 .recovery.motion-off .window-4 .poster-4{position:relative;left:0;top:0;width:100%!important}
}
@media(prefers-reduced-motion:reduce){.window-4{height:auto!important;min-height:0;aspect-ratio:1448/1086}.recovery .window-4 .poster-4{position:relative;left:0;top:0;width:100%!important;transform:none!important}}
@media(min-width:601px)and (max-width:1000px){
 .recovery .scene-sticky{flex-direction:column;gap:24px;padding:100px 32px 90px}
 .scene-story,.recovery .scene-4 .scene-story{width:100%;max-width:none}
 .scene-story .eyebrow{margin-bottom:10px}.story-title{font-size:34px;max-width:650px;margin-bottom:14px}.story-copy{display:none}.phase-steps{margin-top:16px}
 .recovery .poster{height:calc(100svh - 340px);max-width:100%}
 .recovery .poster-4{height:auto;width:100%;max-width:100%}
}
