/* MODERUN — homepage layout v5. Product image slots are intentionally empty until real artwork is supplied. */
.home-v4 {--home-ink:#14233d;--home-body:#43536c;}
.home-v4 .hero--refined{padding:78px 0 80px;background:#fff}
.home-v4 .hero--refined .hero-grid{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);min-height:0;align-items:center;gap:6%}
.home-v4 .hero-content{padding:0}
.home-v4 .hero h1{font-size:clamp(42px,4.45vw,65px);line-height:1.23;letter-spacing:-.038em;font-weight:650;margin:24px 0 22px;max-width:780px;color:#132039}
.home-v4 .hero h1 .outline-word{color:#1768e8;display:inline}
.home-v4 .hero-desc{max-width:590px;font-size:17px;color:#455772;line-height:1.78;font-weight:430}
.home-v4 .hero-ctas{margin-top:31px;display:flex;gap:12px;flex-wrap:wrap}
.home-v4 .hero-visual{height:auto;min-width:0}
.home-route-panel{width:100%;border:1px solid #e0e7ef;background:#f8fafc;border-radius:18px;padding:28px 28px 19px}
.route-panel-heading{margin-bottom:24px}.route-panel-heading>span{font-size:19px;font-weight:660;color:#14233d}.route-panel-heading>p{color:#586a82;margin-top:7px;font-size:14px}
.home-route{display:flex;align-items:center;gap:16px;border-top:1px solid #dbe3ed;padding:22px 4px;transition:background-color .2s ease,padding-left .2s ease;border-radius:10px}
.home-route>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.home-route strong{font-size:17px;font-weight:650;color:#172743}.home-route small{font-size:14px;color:#51637e;line-height:1.45}
.route-index{font-size:14px;font-weight:610;color:#2b72d5;align-self:flex-start;padding-top:3px}.route-arrow{font-size:22px;color:#2169c7}
.route-panel-status{font-size:13px;color:#566a83;border-top:1px solid #dbe3ed;padding-top:18px;display:flex;align-items:center;gap:9px;line-height:1.55}
.route-status-dot{width:7px;height:7px;border-radius:50%;background:#437ac5;flex:none}
@media(hover:hover) and (pointer:fine){.home-route:hover{background:#edf2f8;padding-left:12px}}
.home-section{padding:82px 0}.home-section .eyebrow{margin-bottom:15px}
.home-section h2{color:#13223c;line-height:1.27;letter-spacing:-.028em;font-weight:650}
.home-section p{line-height:1.72}
.home-featured{padding:88px 0 93px;background:#fff}
.feature-heading{max-width:760px;margin-bottom:31px}
.feature-heading h2{font-size:clamp(32px,3.2vw,44px)}
.feature-heading p{margin-top:13px;font-size:16px;line-height:1.7;color:#4e607a;max-width:720px}
.home-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.product-reveal{min-width:0;height:100%;display:flex}
.feature-product{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;border:1px solid #dce4ed;border-radius:18px;background:#fff;overflow:hidden;transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s ease}
.product-image-slot{height:184px;flex:none;background:#f0f3f6;border-bottom:1px solid #e1e6ec;position:relative}
/* Future images: place an <img> in .product-image-slot, width/height 100%, object-fit:cover. */
.product-image-slot img{width:100%;height:100%;object-fit:cover;display:block}
.feature-product-content{padding:25px 25px 25px;flex:1}
.feature-label-row{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap}
.feature-product-content .status-pill{display:inline-flex;background:#eaf2ff;border-radius:50px;padding:6px 11px;color:#185cb3;font-size:12px;font-weight:640;white-space:nowrap}
.feature-product-content .status-pill-muted{background:#eef1f5;color:#506079}
.feature-category{font-size:12px;color:#52637b;font-weight:480}
.feature-product h3{font-size:26px;line-height:1.24;letter-spacing:-.028em;color:#14233d;font-weight:660;margin:20px 0 13px}
.feature-product-content p{font-size:16px;color:#4b5c72;line-height:1.76;max-width:44ch;word-break:keep-all}
.feature-product-bottom{border-top:1px solid #e7edf3;margin-top:auto;padding:19px 25px 22px;display:flex;align-items:center;justify-content:space-between;gap:11px}
.feature-product-bottom>span:first-child{display:flex;flex-direction:column;gap:4px}
.feature-product-bottom strong{font-size:20px;font-weight:670;color:#14243d;white-space:nowrap}
.feature-product-bottom small{font-size:13px;color:#576b82}
.feature-card-link{font-size:14px;font-weight:610;color:#175dbc;white-space:nowrap}
.feature-card-link span{margin-left:3px}
.feature-footnote{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:22px;color:#586a80;font-size:14px;line-height:1.6}
.feature-footnote .line-link{font-size:14px}
@media (hover:hover) and (pointer:fine){.feature-product:hover{transform:translateY(-3px);border-color:#bed1e9;box-shadow:0 13px 29px rgba(16,37,70,.065)}}
.feature-product:focus-visible{outline:3px solid #3d83e9;outline-offset:4px}
.home-showcase{background:#f6f8fb;padding:92px 0 104px}
.showcase-heading{max-width:760px;margin-bottom:30px}
.showcase-heading h2{font-size:clamp(32px,3.2vw,46px)}
.showcase-heading p{margin-top:13px;font-size:16px;color:#4e5d73}
.scene-tabs{display:flex;border-bottom:1px solid #d4dee9;gap:10px;margin-bottom:25px}
.scene-tabs [role=tab]{font-size:15px;font-weight:600;color:#506179;border:0;border-bottom:2px solid transparent;background:transparent;padding:13px 24px 15px;transition:color .22s ease,border-color .22s ease,background .22s ease;border-radius:8px 8px 0 0}
.scene-tabs [role=tab]:hover{color:#1a3561;background:#e8eef5}
.scene-tabs [role=tab][aria-selected=true]{color:#1764c7;border-bottom-color:#1764c7}
.showcase-viewport{background:#fff;border:1px solid #dee6ef;border-radius:20px;min-height:405px;overflow:hidden}
.scene-panel{display:grid;grid-template-columns:minmax(265px,36%) minmax(0,64%);min-height:405px}
.scene-panel[hidden]{display:none!important}
.scene-info{padding:48px 38px 35px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.scene-overline{color:#1766c8;font-size:12px;font-weight:650;letter-spacing:.04em}
.scene-info h3{font-size:clamp(26px,2.5vw,36px);line-height:1.33;letter-spacing:-.026em;margin:18px 0 13px}
.scene-info p{font-size:15px;color:#4f6075;line-height:1.8}
.scene-hint{font-size:13px!important;color:#68798d!important;margin-top:17px!important;line-height:1.55!important}
.scene-action{padding:11px 17px;background:#126de5;border:1px solid #126de5;border-radius:9px;color:#fff;font-weight:600;font-size:13px;margin-top:26px;transition:background .22s ease}
.scene-action:hover{background:#0b58c2}.scene-action span{margin-left:16px}
.scene-canvas{padding:30px 34px;background:#f1f5f9;border-left:1px solid #e3eaf2;display:flex;flex-direction:column;justify-content:center}
.demo-window-top{display:flex;justify-content:space-between;align-items:center;color:#596b81;font-size:12px;margin-bottom:19px;gap:10px}
.demo-window-top span:first-child{font-weight:700;color:#263b5b}.demo-window-top span:last-child{font-size:11px}
.step-list{padding:0;margin:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.step-list li{display:flex;align-items:center;gap:16px;padding:17px 20px;border:1px solid #dce4ee;border-radius:12px;background:#fff;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.step-list li.is-current{border-color:#89b1e9;background:#eef5ff;box-shadow:0 2px 7px rgba(15,54,114,.035)}
.step-number{font-size:12px;font-weight:700;color:#176dcf;min-width:24px}.step-list li div{display:flex;flex-direction:column;gap:3px;flex:1}.step-list strong{font-size:14px;font-weight:650}.step-list small{font-size:12px;color:#67778e}.step-state{font-size:12px;color:#59728f}
.demo-footer{padding:16px 4px 0;font-size:12px;color:#4f6380}
.demo-checklist{border:0;margin:0;padding:0;min-width:0}.demo-checklist legend{font-size:12px;color:#5c7086;margin-bottom:12px}
.demo-checklist label{display:flex;align-items:center;gap:12px;background:white;border:1px solid #dce4ee;border-radius:10px;padding:13px 16px;margin:9px 0;cursor:pointer}
.demo-checklist input{accent-color:#1a6bdf;width:17px;height:17px;flex:none}
.demo-checklist label span{font-size:14px;font-weight:620}.demo-checklist label small{font-size:12px;color:#65758b;margin-left:auto}
.selection-summary{border-top:1px solid #d5e0eb;margin-top:19px;padding-top:14px;display:flex;justify-content:space-between;align-items:center;gap:15px}.selection-summary strong{font-size:13px}.selection-summary p{font-size:12px;color:#345a89;text-align:right}
.design-controls{margin-top:20px;display:flex;flex-direction:column;gap:16px}.demo-control-label{display:block;font-size:12px;font-weight:650;margin-bottom:9px;color:#324a66}
.swatch-choices,.align-choices{display:flex;gap:9px;align-items:center}
.swatch-choices button{border:2px solid transparent;background:var(--swatch);width:30px;height:30px;border-radius:50%;outline-offset:3px}
.swatch-choices button.is-selected{box-shadow:0 0 0 2px white,0 0 0 4px #52677f}
.align-choices button{padding:8px 13px;border-radius:7px;border:1px solid #d4dce7;background:#fff;color:#3c4e65;font-size:12px}
.align-choices button.is-selected{border-color:#196ad7;background:#ebf3ff;color:#195eb7}
.demo-site{background:#fff;border:1px solid #dbe3ed;border-radius:13px;overflow:hidden;min-height:295px;--mini-accent:#176bf0;--mini-align:left}
.demo-site-nav{padding:16px 23px;border-bottom:1px solid #e9edf2;display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#3b506a;align-items:center}
.demo-site-nav b{font-size:11px;letter-spacing:.035em}.demo-site-body{padding:36px 26px 28px;text-align:var(--mini-align)}
.demo-site-body small{font-size:10px;color:var(--mini-accent);letter-spacing:.05em}.demo-site-body h4{font-size:26px;line-height:1.36;font-weight:650;margin:10px 0;color:#152946}.demo-site-body p{font-size:12px;color:#526780;margin-bottom:15px}
.demo-site-cta{display:inline-block;background:var(--mini-accent);color:white;padding:9px 16px;border-radius:7px;font-size:12px;font-weight:600}
.showcase-link{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:21px;font-size:14px;color:#596c82}
.showcase-link a{color:#185fbd;font-weight:650;white-space:nowrap}
.home-process{padding:84px 0 90px}.process-heading{max-width:665px;margin-bottom:26px}.process-heading h2{font-size:clamp(30px,3vw,42px)}.process-heading p{font-size:15px;color:#57667c;margin-top:13px}
.process-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.process-steps li{border-top:1px solid #bdccdd;padding-top:24px;display:flex;gap:17px}
.process-steps li>span{color:#1c66bf;font-size:14px;font-weight:650}.process-steps h3{font-size:18px;font-weight:650;margin-bottom:11px}.process-steps p{color:#546379;font-size:14px}
.home-studio{background:#f8fafc;padding:82px 0}.studio-explain{display:grid;grid-template-columns:1.05fr .95fr;gap:9%;align-items:center}
.studio-explain h2{font-size:clamp(31px,3.2vw,46px)}.studio-explain p{font-size:16px;color:#536279;max-width:540px;margin:18px 0 26px}
.studio-delivery{background:#fff;border:1px solid #dce5ef;border-radius:18px;padding:26px 32px}.studio-delivery-header{font-size:16px;font-weight:650;margin-bottom:19px}.studio-delivery dl{margin:0}
.studio-delivery dl div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;border-top:1px solid #e5ebf1;padding:14px 0;font-size:13px}
.studio-delivery dt{color:#63738a}.studio-delivery dd{margin:0;font-weight:570;color:#23344d}.studio-delivery p{font-size:12px;line-height:1.6;color:#607086;margin:14px 0 0}
.home-contact{padding:67px 0 82px}.home-contact-inner{border-top:1px solid #d5dfe8;padding-top:38px;display:flex;justify-content:space-between;align-items:center;gap:28px}
.home-contact h2{font-size:clamp(29px,3vw,40px)}.home-contact p{font-size:15px;color:#53647b;margin-top:10px}

@media(max-width:1140px){.home-v4 .hero--refined .hero-grid{gap:4%}.home-feature-grid{gap:16px}.feature-product-content{padding:23px 21px}.feature-product-bottom{padding:17px 21px}.feature-product h3{font-size:24px}.feature-product-content p{font-size:15.5px}}
@media(max-width:950px) and (min-width:701px){.home-feature-grid{grid-template-columns:1fr;gap:18px}.product-reveal{display:block}.feature-product{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);grid-template-rows:1fr auto}.product-image-slot{grid-column:1;grid-row:1/span 2;min-height:236px;height:100%;border-bottom:0;border-right:1px solid #e1e6ec}.feature-product-content{grid-column:2;grid-row:1;padding:21px 26px}.feature-product-bottom{grid-column:2;grid-row:2}.feature-product h3{margin:15px 0 8px}}
@media(max-width:900px){.home-v4 .hero--refined{padding:54px 0 56px}.home-v4 .hero--refined .hero-grid{grid-template-columns:1fr;gap:32px}.home-route-panel{max-width:none}.home-section{padding:68px 0}.home-featured{padding:70px 0}.home-showcase{padding:70px 0}.scene-panel{grid-template-columns:1fr;min-height:0}.scene-info{padding:28px}.scene-canvas{border-left:0;border-top:1px solid #e3eaf2;padding:28px}.showcase-viewport{min-height:0}.scene-info h3{font-size:29px;margin:10px 0}.scene-action{margin-top:20px}.process-steps{gap:16px}.studio-explain{grid-template-columns:1fr;gap:24px}.home-contact-inner{flex-direction:column;align-items:flex-start}}
@media(max-width:700px){.home-v4 .hero--refined{padding:41px 0 47px}.home-v4 .hero h1{font-size:clamp(34px,8.7vw,48px);line-height:1.25;letter-spacing:-.03em}.home-v4 .hero-desc{font-size:16px}.home-v4 .hero-ctas{gap:10px;margin-top:26px}.home-route-panel{padding:22px 18px}.route-panel-heading{margin-bottom:12px}.home-route{padding:16px 3px;gap:12px}.home-route strong{font-size:16px}.home-route small{font-size:13px}.route-panel-status{font-size:12px}.home-section{padding:58px 0}.home-featured{padding:59px 0}.feature-heading{margin-bottom:24px}.feature-heading h2{font-size:32px}.feature-heading p,.showcase-heading p{font-size:15px}.home-feature-grid{grid-template-columns:1fr;gap:19px}.feature-product{display:flex}.product-image-slot{height:160px;border-right:0;border-bottom:1px solid #e1e6ec}.feature-product-content{padding:21px 23px 24px}.feature-product-content p{font-size:15.5px}.feature-product h3{font-size:25px;margin:14px 0 11px}.feature-product-bottom{padding:17px 23px}.feature-card-link{font-size:13px}.feature-footnote{flex-direction:column;align-items:flex-start}.home-showcase{padding:64px 0}.showcase-heading h2{font-size:31px}.showcase-heading .desktop-break{display:none}.scene-tabs{gap:0;justify-content:space-between}.scene-tabs [role=tab]{padding:12px 10px 14px;font-size:13px}.scene-info{padding:25px 22px}.scene-canvas{padding:20px 16px}.scene-info h3{font-size:27px}.scene-info p{font-size:14.5px}.step-list li{padding:13px 12px;gap:10px}.demo-checklist label{gap:7px;padding:11px 9px}.demo-checklist label small{font-size:11px}.showcase-link{align-items:flex-start;flex-direction:column}.process-steps{grid-template-columns:1fr;gap:8px}.process-steps li{padding:17px 0;gap:15px}.home-studio{padding:60px 0}.studio-delivery{padding:22px}.home-contact{padding:48px 0 60px}}
@media(max-width:700px){.motion-ready[data-reveal]{transform:translateY(18px);transition-duration:.54s;transition-delay:0ms}}
@media(prefers-reduced-motion:reduce){.motion-ready[data-reveal],.motion-ready[data-reveal].is-visible{transition:none!important;opacity:1!important;transform:none!important}.feature-product,.home-route,.scene-tabs button,.scene-action{transition:none!important}}

/* v1: Featured products reveal on IntersectionObserver; hover transitions remain on inner links. */
.home-feature-grid .product-reveal.is-reveal-pending {
  opacity: 0;
  transform: translate3d(0, 32px, 0);
  transition: none;
}
.home-feature-grid .product-reveal.is-reveal-pending.is-reveal-armed {
  transition-property: opacity, transform;
  transition-duration: 1250ms, 1250ms;
  transition-timing-function: cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--feature-delay, 0ms);
}
.home-feature-grid .product-reveal.is-reveal-pending.is-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}
@media(max-width:700px) {
  .home-feature-grid .product-reveal.is-reveal-pending {transform: translate3d(0,22px,0)}
}
@media(prefers-reduced-motion:reduce) {
  html:not([data-moderun-motion="full"]) .home-feature-grid .product-reveal.is-reveal-pending {
    transform:none!important;
    transition-property:opacity!important;
    transition-duration:550ms!important;
    transition-delay:0ms!important;
  }
  html[data-moderun-motion="full"] .home-feature-grid .product-reveal.is-reveal-pending.is-reveal-armed {
    transition-duration:1250ms!important;
    transition-delay:var(--feature-delay,0ms)!important;
  }
}
