.corner-wipe{position:absolute;inset:0;z-index:40;background:#f34a2b;pointer-events:none;clip-path:circle(0px at 100% 100%)}
.iris-journey{position:relative;background:#f34a2b;padding-bottom:0;min-height:calc(var(--surface-height,1100px) + 100svh);scroll-margin-top:0}.iris-surface{position:sticky!important;top:0;min-height:100svh;overflow:hidden;isolation:isolate;background:transparent!important}.iris-surface:before{content:"";position:absolute;inset:0;background:#f1f1e9;clip-path:circle(var(--iris-radius,230px) at 50% var(--iris-y,50svh));z-index:-1}.iris-heading{position:relative;text-align:center;max-width:800px;margin:0 auto;transform:translateY(var(--head-y,0px));opacity:var(--head-opacity,1)}.iris-heading h2{font-size:clamp(34px,5.2vw,68px)}.iris-heading .chapter-intro{margin-left:auto;margin-right:auto;max-width:650px}.iris-surface .solution-list{opacity:var(--rows-opacity,0);transform:translateY(var(--rows-y,40px));margin-top:50px}.iris-surface .solution-list a{pointer-events:var(--rows-events,none)}
body.static .corner-wipe{display:none}body.static .iris-journey{padding-bottom:0;min-height:0;background:#f1f1e9}body.static .iris-surface{position:relative!important;background:#f1f1e9!important}body.static .iris-heading{transform:none;opacity:1}body.static .iris-surface .solution-list{opacity:1;transform:none}body.static .iris-surface .solution-list a{pointer-events:auto}

.iris-heading{max-width:540px}.iris-heading h2{font-size:clamp(32px,4.3vw,56px)}
@media(max-width:600px){.iris-heading{max-width:74vw}.iris-heading h2{font-size:28px}.iris-heading .chapter-intro{font-size:14px;line-height:1.55}.iris-heading .eyebrow{font-size:9px;letter-spacing:.12em}}

.iris-seed{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;background:#f1f1e9;pointer-events:none;z-index:41;display:none}.iris-surface.awaiting-iris:before,.iris-surface.awaiting-iris .iris-heading{opacity:0}body.static .iris-seed{display:none!important}

.iris-surface{border-top:0!important}
/* Fixed-size circles animate via transform; scroll no longer resizes painted masks. */
.corner-wipe{inset:auto;right:-1px;bottom:-1px;width:2px;height:2px;border-radius:50%;clip-path:none;transform:scale(0);transform-origin:center}
.iris-surface:before{inset:auto;left:50%;top:var(--iris-y,50svh);width:2px;height:2px;border-radius:50%;clip-path:none;transform:translate(-50%,-50%) scale(var(--iris-scale,230));transform-origin:center}
.iris-seed{width:2px;height:2px}
@media(max-width:720px){.website-object.reveal{filter:none!important}.solar-tiles>div{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(max-width:720px){.flow-rail div{filter:none!important}#websites .solar-controls{bottom:24px}}
/* Keep the growing background in the section's own stacking context. */
.iris-surface:before{z-index:0;pointer-events:none}.iris-heading,.iris-surface .solution-list{position:relative;z-index:1}

/* iPhone correction: real vector radii, no enlarged tiny compositing textures. */
.corner-wipe{inset:0;width:100%;height:100%;border-radius:0;transform:none!important;clip-path:none;overflow:hidden;fill:#f34a2b;background:transparent}
.iris-seed{inset:0;left:0;top:0;width:100%;height:100svh;border-radius:0;transform:none!important;background:transparent;fill:#f1f1e9;overflow:hidden}
.iris-surface:before{display:none}
.iris-vector{position:absolute;inset:0;width:100%;height:100%;z-index:0;fill:#f1f1e9;pointer-events:none;overflow:hidden}
.iris-surface.awaiting-iris .iris-vector{visibility:hidden}
body.static .iris-vector{display:none}
