/* Contemporary presentation, scoped to the existing CMS homepage. */
/* Explicit footer colors prevent inherited black text on the dark surface. */
.region-site.modern-site .jm-footer,.region-site.modern-site .jm-footer .jm-footer__main{background:#173f34!important;color:#f7fbf7!important}
.region-site.modern-site .jm-footer :is(h3,button,a,span,p){color:#f7fbf7!important;opacity:1!important}
.region-site.modern-site .jm-footer .jm-footer__col-title-wrap{border-color:#ffffff3d!important;background:transparent!important}
.region-site.modern-site .jm-footer .jm-footer__col-title{color:#fff!important;background:transparent!important;border-color:#ffffff3d!important;min-height:48px;font-size:15px!important;letter-spacing:.04em!important}
.region-site.modern-site .jm-footer .jm-footer__col-title-icon::before,.region-site.modern-site .jm-footer .jm-footer__col-title-icon::after{background:#f7fbf7!important}
.region-site.modern-site .jm-footer .jm-footer__brand-main{font-size:22px!important;line-height:1.6!important}
.region-site.modern-site .jm-footer :is(.jm-footer__brand-sub,.jm-footer__list-label,.region-footer-note,.jm-footer__sp-owner-operator){color:#d4e4da!important;font-size:14px!important;line-height:2!important}
.region-site.modern-site .jm-footer .jm-footer__list a{display:inline-block;font-size:14px!important;line-height:1.9!important;padding-block:5px!important;text-decoration:none!important}
.region-site.modern-site .jm-footer .jm-footer__list a:hover,.region-site.modern-site .jm-footer .region-footer-note a:hover{text-decoration:underline!important;text-underline-offset:5px}
.region-site.modern-site .jm-footer .jm-footer__divider{background:#ffffff38!important;border-color:#ffffff38!important}
.region-site.modern-site .jm-footer .jm-footer__contact-cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:14px 20px!important;border:1px solid #f7fbf7!important;border-radius:10px!important;background:#f7fbf7!important;color:#173f34!important;font-size:15px!important;font-weight:700!important;text-decoration:none!important}
.region-site.modern-site .jm-footer .jm-footer__contact-cta:hover{background:#e1eee4!important;border-color:#e1eee4!important}
.region-site.modern-site .jm-footer :is(.jm-footer__legal,.jm-footer__copyright){background:#123429!important;border-top:1px solid #ffffff24!important}
.region-site.modern-site .jm-footer .jm-footer__legal-list a{font-size:13px!important;padding:10px 6px!important;display:inline-block}
.region-site.modern-site .jm-footer .jm-footer__copyright-text{color:#d4e4da!important;font-size:13px!important;line-height:1.8!important}
.region-site.modern-site .jm-footer :is(a,button):focus-visible{outline:3px solid #f4c58b!important;outline-offset:4px!important}
body.region-site.modern-site{--region-paper:#f7f9f6;--region-green:#244f43;--modern-ease:cubic-bezier(.2,.7,.2,1);background:#f7f9f6!important;-webkit-font-smoothing:antialiased}
.modern-site .jm-header{background:rgba(255,255,255,.94)!important;border:1px solid #244f4312!important;border-radius:18px!important;box-shadow:0 8px 32px #244f4308!important;backdrop-filter:blur(18px);transition:box-shadow .25s,background .25s}
.modern-site .jm-header.modern-scrolled{background:rgba(255,255,255,.98)!important;box-shadow:0 8px 30px #183a301a!important}
.modern-site .jm-logo__main{letter-spacing:-.04em!important}
.modern-site .jm-search__input{border-radius:8px 0 0 8px!important;background:#f2f5f1!important}
.modern-site .jm-search__submit{border-radius:0 8px 8px 0!important}
.modern-site .jm-cta,.modern-site .jm-nav__pubsec{border-radius:8px!important;transition:filter .2s,transform .2s}
.modern-site .jm-nav__link{color:#244f43!important}
.modern-site .jm-nav__link::after{background:#d9673c!important}
.modern-site .modern-progress{position:fixed;inset:0 0 auto;height:3px;background:#d9673c;transform:scaleX(0);transform-origin:left;z-index:100000;pointer-events:none}
.region-site.modern-site #main_content .post_content .demo-hero{margin:16px 20px 0!important;border-radius:28px!important;min-height:650px!important;padding:90px max(4vw,32px) 82px!important;box-shadow:0 16px 50px #244f4309;position:relative;background:#f0f4ed!important}
.modern-site .demo-hero__bg:after{background:linear-gradient(90deg,#f0f4edf7 0%,#f0f4edf2 28%,#f0f4ed91 48%,#f0f4ed00 72%)!important}
.modern-site .modern-kicker{display:flex;align-items:center;gap:10px;font-size:11px!important;font-weight:700;letter-spacing:.17em!important;color:#426556!important;margin:0 0 24px!important}
.modern-kicker>span{width:7px;height:7px;border-radius:50%;background:#d9673c;box-shadow:0 0 0 5px #d9673c14}
.modern-site .modern-kicker{animation:modern-enter .65s var(--modern-ease) both}
.modern-site .demo-hero__title{animation:modern-enter .75s .08s var(--modern-ease) both}
.modern-site .demo-hero__define{animation:modern-enter .75s .16s var(--modern-ease) both}
.modern-site .region-hero-actions{animation:modern-enter .75s .24s var(--modern-ease) both}
.region-site.modern-site #main_content .demo-hero__supertitle{background:transparent!important;padding:0!important;font-size:13px!important;letter-spacing:.03em!important;margin:0 0 20px!important}
.region-site.modern-site #main_content .demo-hero__title{font-size:clamp(36px,4.4vw,64px)!important;line-height:1.35!important;letter-spacing:-.045em!important;max-width:650px!important;margin-bottom:24px!important}
.region-site.modern-site #main_content .demo-hero__define{font-size:16px!important;line-height:1.95!important;max-width:535px!important;margin-bottom:30px!important}
.modern-site .region-hero-actions{gap:24px!important}
.modern-site .region-button{border-radius:10px!important;box-shadow:0 5px 15px #244f4312;transition:background .2s,box-shadow .2s,transform .25s var(--modern-ease)!important}
.modern-site .region-button:hover{box-shadow:0 9px 24px #244f4326;transform:translateY(-3px)!important}
.modern-site .region-hero-notes{gap:12px 20px!important;max-width:550px;color:#526958!important}
.modern-site .modern-scroll{position:absolute;left:max(4vw,32px);bottom:24px;display:flex;align-items:center;gap:16px;color:#426556!important;font-size:9px!important;font-weight:700;letter-spacing:.15em;text-decoration:none!important}
.modern-scroll>span:last-child{display:grid;place-items:center;width:28px;height:28px;border:1px solid #244f4340;border-radius:50%;font-size:14px;animation:modern-nudge 2.6s ease-in-out infinite}
.modern-site .photo-note{right:22px;bottom:18px;border-radius:20px;padding:5px 12px!important;background:#ffffffc9!important}
.modern-site .region-strip{max-width:1120px;margin:20px auto 0;border:1px solid #dce5dc!important;border-radius:14px;padding:18px 24px!important;background:#fff!important}
.region-site.modern-site #main_content .post_content .demo-section{margin-top:96px!important;margin-bottom:96px!important}
.region-site.modern-site #main_content .post_content .demo-section__title{font-size:clamp(26px,2.8vw,38px)!important;line-height:1.5!important;letter-spacing:-.04em!important;padding-left:0!important;border:0!important}
.region-site.modern-site #main_content .post_content .demo-section__title::before{display:none!important}
.region-site.modern-site #main_content .post_content .demo-section__title::after{content:'';display:block;width:34px;height:3px;background:#d9673c;margin-top:18px;border-radius:2px}
.modern-site .region-section-intro{color:#637369!important;margin-top:18px!important}
.modern-site .region-sample-note{border:1px solid #e4e8df;background:#eef2e9!important;border-radius:10px!important;color:#67715e!important}
.modern-site .region-filters{gap:10px!important;margin:28px 0 18px!important}
.modern-site .region-filters button{min-height:44px!important;padding:10px 20px!important;background:#fff;border-color:#dce4db;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
.modern-site .region-filters button.is-active{background:#244f43;border-color:#244f43;box-shadow:0 3px 10px #244f431c}
.region-site.modern-site #main_content .post_content .demo-grid{gap:24px!important;padding:10px 3px 24px!important}
.region-site.modern-site #main_content .post_content .region-service-card{border-radius:20px!important;border:1px solid #dfe7df!important;box-shadow:0 4px 16px #244f4305!important;flex-basis:calc((100% - 48px)/3)!important;transition:transform .3s var(--modern-ease),box-shadow .3s,border-color .3s!important}
.modern-site .region-card-art{height:204px!important}
.modern-site .region-card-art img{transition:transform .65s var(--modern-ease)}
.region-site.modern-site #main_content .post_content .region-card-body{padding:26px!important}
.region-site.modern-site #main_content .post_content .demo-card__cat{font-size:12px!important;letter-spacing:.05em!important;color:#6c7d70!important}
.region-site.modern-site #main_content .post_content .demo-card__title{font-size:21px!important;line-height:1.65!important;letter-spacing:-.025em!important;min-height:70px!important}
.region-site.modern-site #main_content .post_content .demo-card__desc{font-size:15px!important;line-height:1.9!important;margin:0 0 24px!important}
.region-site.modern-site #main_content .post_content .demo-card__price{font-size:29px!important;font-variant-numeric:tabular-nums}
.region-site.modern-site #main_content .post_content .demo-card__meta{margin-bottom:16px!important}
.region-site.modern-site #main_content .post_content .region-service-card .demo-card__detail{border-radius:10px!important;transition:background .2s,box-shadow .2s!important}
.region-site.modern-site #main_content .post_content .demo-card__detail>span{transition:transform .25s var(--modern-ease)!important}
.modern-site .demo-slider-nav{width:46px!important;height:46px!important;box-shadow:0 4px 14px #244f4314!important;background:#ffffffed!important;backdrop-filter:blur(8px)}
.region-site.modern-site #main_content .post_content .issue-card{border-radius:18px!important;padding:28px!important;border-color:#dfe7dd!important;transition:border-color .2s,box-shadow .2s}
.modern-site .photo-industries a{border-radius:20px!important;transition:transform .3s var(--modern-ease),box-shadow .3s}
.modern-site .photo-industries img{transition:transform .6s var(--modern-ease)}
.modern-site .photo-industries span{padding:24px!important;position:relative;background:#fff}
.modern-site .category-card{transition:background .2s,border-color .2s!important}
.modern-site .photo-plan{border-radius:20px!important;padding:32px!important;position:relative;box-shadow:0 5px 20px #244f4304;transition:transform .3s,box-shadow .3s}
.modern-site .photo-plan:nth-child(2){background:#eaf1e8!important;border:1px solid #8fae96!important}
.modern-site .photo-plan .photo-price{font-size:38px!important;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.modern-site .photo-plan>a{border-top:1px solid #244f431a;margin-top:22px;text-decoration:none!important}
.region-site.modern-site #main_content .post_content .jgm-about{border-radius:28px!important;background:#e8f0e6!important;padding:72px 36px!important}
.region-site.modern-site #main_content .post_content .jgm-about__title{font-size:clamp(28px,3vw,42px)!important;letter-spacing:-.04em!important;line-height:1.65!important}
.modern-site .region-eyebrow{color:#6a826d!important;font-size:11px!important}
.modern-site .region-steps{gap:24px!important}
.modern-site .region-steps article{background:#fff;border:1px solid #dfe7df;border-radius:18px;padding:28px!important}
.modern-site .region-steps article>span{font-family:inherit!important;font-size:30px!important;font-weight:600;color:#9bb09c!important}
.modern-site .region-faq details{background:#fff;border:1px solid #dfe7df;border-radius:14px;padding:22px 26px;margin:12px 0}
.modern-site .region-faq details[open]{border-color:#a9bda8;background:#fcfdfb}
.modern-site .region-faq summary span{transition:transform .25s}
.modern-site .region-faq details[open] summary span{transform:rotate(45deg)}
.region-site.modern-site #main_content .post_content .region-last-cta{border-radius:28px!important;padding:64px 28px!important;background:#244f43!important;position:relative;overflow:hidden}
.region-site.modern-site #main_content .post_content .region-last-cta h2{font-size:clamp(28px,3.3vw,44px)!important;letter-spacing:-.04em!important;color:#fff!important}
.region-site.modern-site #main_content .post_content .region-last-cta p,.modern-site .region-last-cta small{color:#d5e2d4!important}
.modern-site .region-last-cta .region-button{background:#fff!important;color:#244f43!important;border-color:#fff!important;min-width:240px}
.modern-site .region-dialog{border-radius:22px!important;background:#fafcf8!important;box-shadow:0 30px 120px #142b2840}
.modern-site .region-dialog[open]{animation:modern-dialog .28s var(--modern-ease)}
.modern-site .region-dialog::backdrop{background:#152e267d;backdrop-filter:blur(7px)}
.modern-site .region-dialog input,.modern-site .region-dialog textarea,.modern-site .region-dialog select{border-radius:9px!important;min-height:48px}
.modern-site .region-dialog-close{background:#eaf0e6;border-radius:50%;top:14px;right:14px}
.modern-reveal{opacity:0;transform:translateY(22px);transition:opacity .65s var(--modern-ease),transform .65s var(--modern-ease)}
.modern-reveal.is-visible{opacity:1;transform:translateY(0)}
@keyframes modern-dialog{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes modern-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes modern-nudge{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){
 .region-site.modern-site #main_content .post_content .region-service-card:hover{transform:translateY(-5px)!important;box-shadow:0 18px 36px #244f4312!important;border-color:#bacfbd!important}
 .modern-site .region-service-card:hover .region-card-art img,.modern-site .photo-industries a:hover img{transform:scale(1.035)}
 .modern-site .demo-card__detail:hover>span{transform:translateX(4px)}
 .modern-site .photo-industries a:hover,.modern-site .photo-plan:hover{transform:translateY(-4px);box-shadow:0 14px 30px #244f4310}
 .modern-site .issue-card:hover{border-color:#a9bda8!important;box-shadow:0 8px 22px #244f4308!important}
}
@media(max-width:1050px){
 .region-site.modern-site #main_content .post_content .region-service-card{flex-basis:calc((100% - 24px)/2)!important}
 .region-site.modern-site #main_content .demo-hero__title{max-width:570px!important;font-size:clamp(36px,4.7vw,54px)!important}
 .modern-site .region-strip{margin-left:24px;margin-right:24px}
}
@media(max-width:768px){
 .modern-site .jm-header{border-radius:12px!important}
 .region-site.modern-site #main_content .post_content .demo-hero{margin:12px 12px 0!important;border-radius:20px!important;padding:34px 24px 316px!important;min-height:770px!important}
 .modern-site .demo-hero__bg{height:280px!important}
 .modern-site .demo-hero__bg:after{background:linear-gradient(180deg,#f0f4ed 0%,#f0f4ed00 40%)!important}
 .region-site.modern-site #main_content .demo-hero__title{font-size:clamp(29px,7.4vw,42px)!important;line-height:1.45!important;margin-bottom:18px!important}
 .region-site.modern-site #main_content .demo-hero__supertitle{font-size:11px!important;line-height:1.8!important;margin-bottom:14px!important}
 .region-site.modern-site #main_content .demo-hero__define{font-size:15px!important;line-height:1.9!important;margin-bottom:22px!important}
 .modern-site .modern-kicker{font-size:9px!important;letter-spacing:.1em!important;margin-bottom:22px!important}
 .modern-site .modern-scroll{display:none}
 .modern-site .region-hero-actions{gap:18px!important}
 .modern-site .region-hero-actions .region-button{width:100%;padding:15px 18px!important;font-size:14px!important}
 .modern-site .region-hero-notes{font-size:11px!important;gap:8px 14px!important}
 .modern-site .region-strip{margin:16px 20px 0;padding:18px!important;border-radius:14px}
 .region-site.modern-site #main_content .post_content .demo-section{margin-top:64px!important;margin-bottom:64px!important}
 .region-site.modern-site #main_content .post_content .demo-section__title{font-size:26px!important}
 .modern-site .region-filters{gap:8px!important}
 .modern-site .region-filters button{padding:9px 16px!important;font-size:13px!important}
 .region-site.modern-site #main_content .post_content .demo-grid{gap:16px!important}
 .region-site.modern-site #main_content .post_content .region-service-card{flex-basis:88%!important;border-radius:18px!important}
 .modern-site .region-card-art{height:180px!important}
 .region-site.modern-site #main_content .post_content .region-card-body{padding:22px!important}
 .region-site.modern-site #main_content .post_content .demo-card__title{font-size:20px!important}
 .region-site.modern-site #main_content .post_content .demo-card__desc{font-size:15px!important}
 .modern-site .photo-plan{padding:28px!important;border-radius:18px!important}
 .region-site.modern-site #main_content .post_content .jgm-about{padding:44px 24px!important;border-radius:22px!important}
 .region-site.modern-site #main_content .post_content .jgm-about__title{font-size:27px!important}
 .modern-site .region-steps article{padding:24px 24px 24px 76px!important}
 .modern-site .region-steps article>span{left:24px;top:24px}
 .modern-site .region-faq details{padding:20px!important}
 .region-site.modern-site #main_content .post_content .region-last-cta{padding:44px 22px!important;border-radius:22px!important}
}
@media(prefers-reduced-motion:reduce){
 .modern-site,.modern-site *,.modern-site *::before,.modern-site *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}
 .modern-reveal{opacity:1!important;transform:none!important}
}
