/* Phase 1B: self-contained, non-blocking planning-to-reality sequence. */
.premium-intro{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#f5f2ea;color:#fff;--opening:1;--paper:0;--structure:0;--landscape:0;--hardscape:0;--detail:0;--concept:0;--reality:0;--fragments:0;--final:0;--status:0}
.premium-intro .intro-stage{position:relative;height:100%;overflow:hidden;isolation:isolate}.intro-visual-plane{position:absolute;inset:0;overflow:hidden;background:#f5f2ea}.intro-paper{position:absolute;inset:0;background:radial-gradient(circle at 25% 18%,rgba(255,255,255,.96),transparent 38%),repeating-linear-gradient(7deg,rgba(55,52,45,.018) 0 1px,transparent 1px 8px),#f5f2ea;opacity:var(--paper)}.intro-concept-wash{position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse at 38% 46%,rgba(151,177,125,.38),transparent 34%),linear-gradient(112deg,transparent 53%,rgba(202,183,143,.32) 53% 83%,transparent 83%),radial-gradient(ellipse at 12% 45%,rgba(99,154,157,.34),transparent 18%);opacity:var(--concept)}
.intro-plan{position:absolute;z-index:2;inset:0;width:100%;height:100%;opacity:var(--paper);filter:drop-shadow(0 1px 0 rgba(255,255,255,.8))}.plan-grid-field{opacity:calc(var(--structure)*.62)}.plan-layer{fill:none;stroke:#313a35;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.plan-layer .plan-stroke{fill:none;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--layer));opacity:calc(.22 + var(--layer)*.78)}.plan-layer-structure{--layer:var(--structure)}.plan-layer-landscape{--layer:var(--landscape)}.plan-layer-hardscape{--layer:var(--hardscape)}.plan-layer-detail{--layer:var(--detail)}.plan-fine{stroke-width:1.4}.plan-guide{stroke:#9a7b36;stroke-width:1;stroke-dasharray:.018 .014!important}.plan-plant{stroke:#56685a;stroke-width:2}.plan-furniture{stroke:#65543e;stroke-width:1.8}.plan-fill{stroke:none;opacity:calc(var(--concept)*.78)}.plan-fill-lawn{fill:#aabd8f}.plan-fill-water{fill:#8fb6b4}.plan-fill-stone{fill:url(#jmc-plan-stone)}.plan-fill-deck{fill:url(#jmc-plan-deck)}.plan-trees{fill:rgba(116,139,105,.14);stroke:#526056;stroke-width:2;opacity:var(--detail)}.intro-plan text{fill:#3e4741;stroke:none;font:600 15px Arial,sans-serif;letter-spacing:2px;opacity:var(--detail)}.intro-plan .plan-note{font-size:12px;letter-spacing:1.4px;fill:#7a6b4b}
.intro-reality{position:absolute;z-index:3;inset:0;overflow:hidden;clip-path:polygon(0 0,calc(var(--reality)*100% + 3%) 0,calc(var(--reality)*100% - 2%) 58%,calc(var(--reality)*100% + 4%) 100%,0 100%);opacity:clamp(0,calc(var(--reality)*20),1);will-change:clip-path,opacity}.intro-reality img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(calc(1.025 - var(--reality)*.025));will-change:transform}.intro-fragments{position:absolute;z-index:4;inset:0;pointer-events:none}.intro-fragments i{position:absolute;background-image:url('../img/jmc-planung-fotorealistisch.png');background-size:100vw 100vh;opacity:var(--fragments);transform:translate3d(calc((1 - var(--fragments))*18px),calc((1 - var(--fragments))*-10px),0);clip-path:polygon(6% 0,100% 9%,93% 100%,0 87%)}.intro-fragments i:nth-child(1){left:29%;top:10%;width:20%;height:22%;background-position:29% 10%}.intro-fragments i:nth-child(2){left:48%;top:31%;width:19%;height:25%;background-position:48% 31%;transform:translate3d(calc((1 - var(--fragments))*-14px),calc((1 - var(--fragments))*12px),0)}.intro-fragments i:nth-child(3){left:66%;top:12%;width:24%;height:31%;background-position:66% 12%}.intro-fragments i:nth-child(4){left:43%;top:58%;width:22%;height:26%;background-position:43% 58%;transform:translate3d(calc((1 - var(--fragments))*14px),calc((1 - var(--fragments))*12px),0)}.intro-fragments i:nth-child(5){left:73%;top:55%;width:22%;height:29%;background-position:73% 55%}.intro-reveal-edge{position:absolute;z-index:5;top:0;bottom:0;left:calc(var(--reality)*100%);width:12%;transform:translateX(-55%);background:linear-gradient(90deg,transparent,rgba(255,244,198,.26),rgba(255,255,255,.52),transparent);filter:blur(14px);opacity:calc((1 - var(--reality))*var(--reality)*4);pointer-events:none}
.intro-brand-opening{position:absolute;z-index:9;inset:0;display:grid;place-content:center;justify-items:center;text-align:center;background:radial-gradient(circle at 50% 39%,#2e2918 0,transparent 37%),#0d110d;opacity:var(--opening);pointer-events:none}.intro-opening-mark{width:86px;height:100px}.intro-opening-mark img{width:100%;height:100%;object-fit:contain}.intro-brand-opening p{margin:18px 0 26px;color:#e2ad24;font-size:11px;font-weight:700;letter-spacing:.24em}.intro-brand-opening strong{font-size:clamp(34px,5.7vw,82px);line-height:1;letter-spacing:-.05em;color:#fff}.intro-status{position:absolute;z-index:7;right:clamp(18px,4vw,64px);top:50%;display:grid;grid-template-columns:auto 58px auto;gap:12px;align-items:center;color:#303832;opacity:var(--status);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.intro-status i{height:1px;background:currentColor}.intro-status strong{font:inherit;min-width:100px}
.intro-final-copy{position:absolute;z-index:7;left:0;right:0;bottom:clamp(38px,7vh,88px);opacity:var(--final);transform:translate3d(0,calc((1 - var(--final))*18px),0);pointer-events:none;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.35)}.intro-final-copy:before{content:"";position:absolute;z-index:-1;left:calc((100vw - min(calc(100vw - 2 * var(--fd-gutter,24px)),var(--fd-max,1440px)))/-2);bottom:calc(-1 * clamp(38px,7vh,88px));width:100vw;height:70vh;background:linear-gradient(0deg,rgba(5,9,6,.86),rgba(5,9,6,.3) 58%,transparent);pointer-events:none}.intro-final-copy .eyebrow{color:#f2d275!important;margin:0 0 18px;font-size:10px;letter-spacing:.18em}.intro-final-copy h1{font:600 clamp(42px,6.2vw,94px)/.96 Arial,sans-serif;letter-spacing:-.055em;margin:0;max-width:950px}.intro-final-copy h1 span{color:#f2c548}.intro-final-copy>p:not(.eyebrow){margin:22px 0 0;font-size:clamp(14px,1.4vw,19px);color:#f4f2e9}.intro-final-copy .button{pointer-events:auto;margin-top:26px;background:#e2ad24;color:#111;border:1px solid #e2ad24;clip-path:none;box-shadow:none}
.premium-intro.intro-finished{--opening:0!important;--paper:1!important;--structure:1!important;--landscape:1!important;--hardscape:1!important;--detail:1!important;--concept:1!important;--reality:1!important;--fragments:0!important;--final:1!important;--status:0!important}.premium-intro.intro-finished .intro-plan,.premium-intro.intro-finished .intro-concept-wash,.premium-intro.intro-finished .intro-reveal-edge,.premium-intro.intro-finished .intro-fragments{display:none}.premium-intro.intro-image-missing .intro-reality,.premium-intro.intro-image-missing .intro-fragments{display:none}.premium-intro.intro-image-missing{--paper:1!important;--structure:1!important;--landscape:1!important;--hardscape:1!important;--detail:1!important;--concept:1!important;--final:1!important}
@media(max-width:900px) and (orientation:portrait){.premium-intro{min-height:640px}.intro-visual-plane{inset:auto;left:50%;top:50%;width:max(680px,100svh);height:100vw;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center}.intro-reality img{object-position:center}.intro-fragments i{background-size:max(680px,100svh) 100vw}.intro-status{top:104px;right:18px;grid-template-columns:auto 34px auto;color:#fff;text-shadow:0 1px 8px #000}.intro-status strong{min-width:76px}.intro-final-copy{bottom:36px}.intro-final-copy h1{font-size:clamp(38px,11vw,58px);max-width:9ch}.intro-final-copy>p:not(.eyebrow){max-width:25ch;line-height:1.45}.intro-final-copy .button{margin-top:22px}}
@media(max-width:580px){.intro-brand-opening{padding:70px 24px 30px}.intro-opening-mark{width:72px;height:84px}.intro-brand-opening p{font-size:10px}.intro-brand-opening strong{font-size:38px}.intro-final-copy .eyebrow{max-width:26ch;line-height:1.5}.intro-fragments i:nth-child(n+4){display:none}}
@media(max-height:560px) and (orientation:landscape){.premium-intro{min-height:430px}.intro-brand-opening{padding-top:70px}.intro-opening-mark{width:48px;height:56px}.intro-brand-opening p{margin:8px 0 12px}.intro-brand-opening strong{font-size:36px}.intro-final-copy{bottom:22px}.intro-final-copy h1{font-size:40px}.intro-final-copy>p:not(.eyebrow){margin-top:10px}.intro-final-copy .button{margin-top:12px;min-height:40px}.intro-status{top:110px}}
@media(prefers-reduced-motion:reduce){.premium-intro{--opening:0!important;--paper:1!important;--reality:1!important;--final:1!important}.intro-brand-opening,.intro-plan,.intro-concept-wash,.intro-fragments,.intro-reveal-edge,.intro-status{display:none}.intro-final-copy{transform:none}.intro-reality img{transform:none}}
