.home-page{--home-width:1240px}.home-page>.section{padding:72px max(32px,calc((100% - var(--home-width))/2));scroll-margin-top:96px}.home-page .section-label{letter-spacing:.13em;font-size:12px;line-height:1.5}.home-page .site-header{background:#0f0d0cf0;grid-template-columns:260px 1fr auto;gap:28px;height:84px;padding-inline:max(28px,50% - 680px)}.home-page .logo{width:246px}.home-page .site-header nav{letter-spacing:.02em;white-space:nowrap;justify-content:center;gap:28px;font-size:15px}.home-page .header-actions,.home-page .header-contact{letter-spacing:0;white-space:nowrap;font-size:14px}.home-page .header-actions{gap:18px}.home-page .header-actions>a:first-child{padding-right:18px}.home-page .hero-slider{height:min(840px,96svh);min-height:680px}.home-page .hero-slide>span{background:linear-gradient(90deg,#050504ad 0%,#05050470 30%,#0505040f 64%,#0000 100%),linear-gradient(#0000 52%,#0505041f 76%,#050504b8 100%)}.home-page .hero-slide-copy{text-shadow:0 2px 12px #00000038}.home-page .hero-slider-top{text-shadow:0 1px 5px #000000a6}.home-page .hero-tabs button{color:#c5c1bd}.home-page .hero-tabs button.is-active{color:#fff}.home-page .hero-slider-top{top:118px;left:max(32px,calc((100% - var(--home-width))/2));right:max(32px,calc((100% - var(--home-width))/2));font-size:13px}.home-page .hero-slide-copy{left:max(32px,calc((100% - var(--home-width))/2));max-width:920px;bottom:135px;right:32px}.home-page .hero-slide-copy h1{letter-spacing:-.06em;margin:22px 0;font-size:clamp(66px,7.3vw,108px);line-height:.95}.home-page .hero-slide-copy>p{max-width:700px;font-size:18px;line-height:1.8}.home-page .hero-slide-label{font-size:13px}.home-page .hero-slider-bottom{left:max(32px,calc((100% - var(--home-width))/2));right:max(32px,calc((100% - var(--home-width))/2));bottom:32px}.home-page .hero-tabs button{letter-spacing:.015em;font-size:12px}.home-page .hero-slider-bottom .scroll{display:none}.home-page .hero-tabs{width:100%}.home-page .about-grid{grid-template-columns:.95fr 1.05fr;gap:64px;width:100%;margin:30px 0 0}.home-page .about h2{letter-spacing:-.05em;font-size:clamp(32px,3.6vw,52px);line-height:1.3}.home-page .about h2 span{white-space:nowrap}.home-page .about-copy{max-width:620px;padding:0}.home-page .about-copy p{margin:0 0 18px;font-size:16px;line-height:1.95}.home-page .about-copy p:first-child{font-size:19px;line-height:1.85}.home-page .home-text-link{border-bottom:1px solid;align-items:center;gap:30px;padding:10px 0;font-size:15px;font-weight:600;display:inline-flex}.home-page .home-text-link span{color:var(--acid)}.home-page .services{color:var(--ink);background:#fffdfa}.home-page .services-intro{grid-template-columns:1fr auto;gap:40px;width:100%;margin:25px 0 34px}.home-page .services-intro h2.jp-display{letter-spacing:-.055em;font-size:clamp(30px,3.3vw,46px);line-height:1.3}.home-page .services-intro p{margin:0;font-size:16px;line-height:1.85}.home-primary-services{grid-template-columns:1fr 1fr;gap:24px;display:grid}.home-service-feature{background:#fff;border:1px solid #ded9d2;flex-direction:column;transition:border-color .25s,transform .25s;display:flex}.home-service-feature:hover{border-color:var(--acid);transform:translateY(-4px)}.home-service-photo{aspect-ratio:2;height:auto;overflow:hidden}.home-service-photo img{object-fit:cover;object-position:center 50%;height:100%;transition:transform .5s}.home-service-feature:hover img{transform:scale(1.025)}.home-service-detail{flex-direction:column;flex:1;padding:28px;display:flex}.home-service-detail>span{letter-spacing:.1em;color:#a12c20;font-size:12px}.home-service-detail h3{letter-spacing:-.03em;margin:12px 0;font-size:28px;line-height:1.4}.home-service-detail p{margin:0 0 18px;font-size:16px;line-height:1.9}.home-service-detail ul{flex-wrap:wrap;gap:8px;margin:0 0 24px;padding:0;list-style:none;display:flex}.home-service-detail li{border:1px solid #ccc4ba;padding:5px 9px;font-size:13px;line-height:1.5}.home-service-detail b{border-top:1px solid #ccc4ba;justify-content:space-between;margin-top:auto;padding-top:15px;font-size:15px;display:flex}.home-service-detail i{color:var(--acid);font-style:normal}.home-page .home-related-heading{margin:38px 0 16px;font-size:18px;font-weight:600}.home-page .service-list{width:100%}.home-page .service-item{grid-template-columns:42px minmax(220px,.6fr) 1.4fr 20px;gap:18px;min-height:80px;padding:14px 0}.home-page .service-item:hover{padding-inline:12px}.home-page .service-item h3{font-size:23px;line-height:1.4}.home-page .service-item>span{font-size:12px}.home-page .service-item p{max-width:none;margin:0;font-size:16px;line-height:1.75}.home-page .demo-showcase.section{padding:60px max(32px,calc((100% - var(--home-width))/2))}.home-page .demo-showcase:before{display:none}.home-page .demo-showcase .demo-showcase-head{grid-template-columns:1fr 1fr;align-items:end;gap:18px 48px;width:100%;margin:0 0 30px}.home-page .demo-showcase .section-label{grid-column:1/-1}.home-page .demo-showcase .demo-showcase-head h2{letter-spacing:-.05em;font-size:46px;line-height:1.2}.home-page .demo-showcase .demo-showcase-head>p{max-width:540px;font-size:16px;line-height:1.85}.home-page .demo-showcase .demo-links{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;width:100%;margin:0;padding:0;display:grid;overflow:visible}.home-page .demo-showcase .demo-links>a{min-height:216px;padding:19px 17px}.home-page .demo-showcase .demo-links>a>div{margin:22px 0}.home-page .demo-showcase .demo-links small{display:none}.home-page .demo-showcase .demo-links h3{word-break:normal;overflow-wrap:anywhere;font-size:20px;line-height:1.5}.home-page .demo-showcase .demo-links p{color:#bcb6b0;font-size:14px;line-height:1.8}.home-page .demo-showcase .demo-links b{margin-top:auto;font-size:14px}.home-page .demo-showcase .demo-links>a:hover{transform:translateY(-5px)}.home-page .process{color:var(--ink);background:#f4f1ec;border-top:1px solid #ded9d2}.home-page .process .section-label span{color:#a12c20}.home-page .process h2.jp-display{letter-spacing:-.05em;margin:28px 0 34px;font-size:44px;line-height:1.35}.home-page .process-steps{border-color:#d6cfc6;grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.home-page .process-steps>div{border-color:#d6cfc6;min-height:0;padding:25px 22px}.home-page .process-steps>div:first-child{padding-left:0}.home-page .process-steps b{color:#a12c20;font-size:12px}.home-page .process-steps h3{margin:24px 0 16px;font-size:22px;line-height:1.4}.home-page .process-steps p{color:#57524e;margin:0;font-size:16px;line-height:1.9}.home-page .event-movies{border-top:1px solid #393330}.home-page .event-movies-heading{grid-template-columns:1fr 1fr;gap:18px 48px;width:100%;margin:0 0 30px}.home-page .event-movies-heading .section-label{grid-column:1/-1}.home-page .event-movies-heading h2{font-size:40px;line-height:1.3}.home-page .event-movies-heading>p{max-width:540px;font-size:16px;line-height:1.85}.home-page .event-movie-grid{gap:20px;width:100%}.home-page .event-movie-card{flex-basis:calc(33.3333% - 13.3333px)}.home-page .event-movie-meta h3{font-size:14px;line-height:1.7}.home-page .event-movie-meta span{font-size:12px}.home-page .news-heading{align-items:center;gap:40px;width:100%;margin-bottom:25px;display:flex}.home-page .news-heading h2.jp-display{font-size:34px;line-height:1.3}.home-page .news-heading>p{max-width:540px;margin-left:auto;font-size:16px}.home-page .news-list{width:100%}.home-page .news-item{grid-template-columns:25px 110px 100px 1fr;min-height:78px;padding-block:22px}.home-page .news-item time,.home-page .news-category{font-size:13px}.home-page .news-item h3{font-size:16px}.home-page .news-content{min-width:0}.home-page .news-content p{color:#57524e;max-width:48em;margin:10px 0 0;font-size:16px;line-height:1.85}.home-page .contact{color:var(--ink);background:#fffdfa;border-top:1px solid #ded9d2}.home-page .contact .section-label span{color:#a12c20;opacity:1}.home-page .contact-top p{color:#57524e;margin:0;font-size:14px}.home-page .contact h2.jp-display{letter-spacing:-.04em;margin:28px 0;font-size:clamp(32px,4vw,52px);line-height:1.45}.home-page .contact h2.jp-display span{white-space:nowrap;display:inline-block}.home-page .contact-reassurance{border-color:#ded9d2;grid-template-columns:.85fr 1fr;gap:24px 50px;margin:0 0 28px;padding:26px 0}.home-page .contact-reassurance strong{font-size:24px}.home-page .contact-reassurance strong span{display:inline-block}.home-page .contact-reassurance p{color:#57524e;font-size:16px;line-height:1.9}.home-page .contact-reassurance>div{display:none}.home-page .contact-actions{grid-template-columns:1fr 1fr;gap:20px;width:100%}.home-page .contact-actions a{letter-spacing:0;border:1px solid #d6cfc6;align-items:center;gap:16px;padding:20px;font-size:17px;transition:background .2s,color .2s,border-color .2s}.home-page .contact-actions a:first-child{color:#fff;background:#c83223;border-color:#c83223;font-weight:600}.home-page .contact-actions a span{transition:transform .2s}.home-page .contact-actions a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.home-page .contact-actions a:hover span{transform:translate(3px,-3px)}.home-page>footer{padding:52px max(32px,calc((100% - var(--home-width))/2)) 140px}.home-page .footer-brand span{font-size:32px}.home-page .footer-brand p,.home-page .footer-bottom{font-size:12px}.home-page .footer-links{letter-spacing:0;flex-wrap:wrap;gap:18px 28px;margin:30px 0;font-size:14px;display:flex}.home-page .footer-links a{border:0;min-height:30px;padding:0}.home-page :is(a,button):focus-visible{outline-offset:5px;outline:3px solid #dc3826}@media (max-width:1100px){.home-page .site-header{grid-template-columns:220px 1fr auto;gap:18px;padding-inline:24px}.home-page .logo{width:215px}.home-page .site-header nav{gap:16px;font-size:14px}.home-page .header-actions>a:first-child{display:none}.home-page .about-grid{gap:32px}.home-page .about h2{font-size:36px}.home-page .services-intro{grid-template-columns:1fr;gap:16px}.home-page .demo-showcase .demo-links{grid-template-columns:repeat(2,minmax(0,1fr))}.home-page .demo-showcase .demo-links>a{min-height:190px}.home-page .process-steps{grid-template-columns:1fr 1fr}.home-page .process-steps>div{border-bottom:1px solid #d6cfc6}.home-page .process-steps>div:nth-child(2){border-right:0}.home-page .process-steps>div:nth-child(3){padding-left:0}}@media (max-width:700px){.home-page>.section,.home-page .demo-showcase.section{padding:44px 22px}.home-page .site-header{grid-template-columns:1fr auto;gap:12px;height:70px;padding:0 18px}.home-page .logo{width:180px}.home-page .site-header nav{display:none}.home-page .header-contact{font-size:13px}.home-page .header-contact span{margin-left:5px}.home-page .hero-slider{height:660px;height:calc(100svh - 20px);min-height:580px;max-height:760px}.home-page .hero-slide>span{background:linear-gradient(90deg,#0505046b,#0505040a 85%),linear-gradient(#0000 15%,#05050414 38%,#05050475 75%,#050504c7 100%)}.home-page .hero-slider-top{font-size:12px;top:100px;left:22px;right:22px}.home-page .hero-slide-copy{max-width:none;bottom:135px;left:22px;right:22px}.home-page .hero-slide-copy h1{letter-spacing:-.065em;margin:20px 0;font-size:clamp(43px,11.6vw,79px);line-height:1}.home-page .hero-slide-copy>p{max-width:32em;font-size:16px;line-height:1.85}.home-page .hero-slide-label{font-size:12px}.home-page .hero-slider-bottom{bottom:75px;left:22px;right:22px}.home-page .about-grid{grid-template-columns:1fr;gap:24px;margin-top:22px}.home-page .about h2{font-size:clamp(29px,7.6vw,42px);line-height:1.35}.home-page .about-copy p:first-child{font-size:18px}.home-page .home-text-link{font-size:15px}.home-page .services-intro{margin:22px 0 25px}.home-page .services-intro h2.jp-display{font-size:30px}.home-primary-services{grid-template-columns:1fr;gap:22px}.home-service-photo{aspect-ratio:16/10}.home-service-detail{padding:22px}.home-service-detail h3{font-size:25px}.home-page .home-related-heading{margin-top:30px;font-size:17px;line-height:1.8}.home-page .service-item{grid-template-columns:25px 1fr 20px;gap:8px 12px;min-height:0;padding:20px 0}.home-page .service-item h3{font-size:22px}.home-page .service-item p{grid-area:2/2;margin:0;padding:0;font-size:16px}.home-page .service-item b{grid-area:1/3}.home-page .demo-showcase .demo-showcase-head{grid-template-columns:1fr;gap:18px;margin-bottom:25px}.home-page .demo-showcase .demo-showcase-head h2{font-size:36px}.home-page .demo-showcase .demo-links{grid-template-columns:1fr;gap:10px}.home-page .demo-showcase .demo-links>a{grid-template-columns:24px 1fr auto;align-items:center;gap:14px;min-height:110px;padding:18px 16px;display:grid}.home-page .demo-showcase .demo-links>a>div{margin:0}.home-page .demo-showcase .demo-links h3{margin:0 0 5px;font-size:19px}.home-page .demo-showcase .demo-links b{grid-column:3;margin:0}.home-page .demo-showcase .demo-links b i{display:none}.home-page .process h2.jp-display{margin:24px 0;font-size:30px}.home-page .process-steps{grid-template-columns:1fr}.home-page .process-steps>div{border-right:0;padding:22px 0}.home-page .process-steps h3{margin:14px 0 12px;font-size:22px}.home-page .event-movies-heading{grid-template-columns:1fr;gap:18px}.home-page .event-movies-heading h2{font-size:32px}.home-page .event-movie-card{flex-basis:85%}.home-page .news-heading{display:block}.home-page .news-heading h2.jp-display{margin-top:18px;font-size:30px}.home-page .news-heading>p{display:none}.home-page .news-item{grid-template-columns:100px 1fr;gap:12px;padding:20px 0}.home-page .news-index{display:none}.home-page .news-item time{grid-column:1}.home-page .news-category{grid-area:1/2}.home-page .news-content{grid-column:1/-1}.home-page .contact h2.jp-display{font-size:clamp(26px,7vw,32px)}.home-page .contact-reassurance{grid-template-columns:1fr;gap:14px}.home-page .contact-reassurance strong{font-size:22px}.home-page .contact-actions{grid-template-columns:1fr;gap:12px}.home-page>footer{padding:40px 22px 120px}.home-page .footer-brand span{font-size:28px}.home-page .footer-links{gap:12px 22px}}@media (prefers-reduced-motion:reduce){.home-page .home-service-feature,.home-page .home-service-photo img,.home-page .demo-showcase .demo-links>a,.home-page .contact-actions a,.home-page .contact-actions a span{transition:none}}
