/* Only components required by the new layout; never load the legacy homepage CSS. */
.step-description{white-space:pre-line}
.about{height:auto;min-height:calc(186 * var(--u));padding-bottom:calc(20 * var(--u))}
.service-card{height:auto;min-height:calc(123 * var(--u))}
.service-copy{min-width:0;padding-bottom:calc(26 * var(--u))}
.service-copy>strong{white-space:normal;overflow-wrap:anywhere}
.work-card,.blog-card{min-width:0}
.work-card h3,.blog-card strong{overflow-wrap:anywhere}
.work-meta{height:auto;min-height:calc(23 * var(--u));flex-wrap:wrap}
.work-image>img{display:block;height:100%;width:100%;object-fit:cover}
.tp-work-logo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#eef3f7;padding:12%;gap:12px}
.tp-work-logo-placeholder img{max-width:65%;max-height:70%;object-fit:contain}
.tp-work-logo-placeholder span{font-size:12px}
.process{height:auto;min-height:calc(293 * var(--u))}
.process-copy{padding-bottom:calc(18 * var(--u))}
.news-list a{white-space:normal}.news-list a>span:first-child{flex-shrink:0}
.contact-section h2{white-space:normal}
.tp-contact-form{padding:32px 0;font-size:16px}
.tp-contact-form input,.tp-contact-form textarea{max-width:100%}
.tp-custom-section{font-size:16px}
.tp-image-text,.tp-builder-posts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.tp-builder-posts img,.tp-image-text img{max-width:100%;height:auto}
.tp-hide-desktop{display:none}
.tp-loading{position:fixed;inset:0;z-index:100000;display:grid;place-items:center;background:var(--blue);color:white;transition:opacity .5s,visibility .5s}
.tp-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.tp-loader-inner{display:flex;flex-direction:column;font-size:clamp(35px,8vw,90px);font-weight:900;line-height:1.1}
.tp-loader-inner small{font-size:14px}.tp-loader-gear,.tp-loader-bar{display:none}
.tp-loading-gear .tp-loader-gear{display:block;animation:gear-turn 2s linear infinite}
.tp-loading-progress .tp-loader-bar{display:block;height:4px;background:white;animation:loader-pulse 1s ease-in-out infinite alternate}
@keyframes loader-pulse{from{opacity:.2}to{opacity:1}}
.site-shell{overflow:clip}
.tp-header-sticky .site-shell>.header{position:sticky;top:0;background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.032' filter='url(%23n)'/%3E%3C/svg%3E")}
.admin-bar.tp-header-sticky .site-shell>.header{top:32px}
@media(max-width:600px){.tp-image-text,.tp-builder-posts{grid-template-columns:1fr}.tp-hide-desktop{display:block}.tp-hide-mobile{display:none}.admin-bar.tp-header-sticky .site-shell>.header{top:0}.hero-heading{height:auto;min-height:143px;padding-bottom:20px}.hero h1{max-width:72%;font-size:clamp(26px,8vw,34px)}.process-copy{padding-bottom:25px}.service-card{min-height:143px}.process{min-height:0}}

/* 3.1 design fidelity and editable text */
.hero-note-text,.about-note-text,.faq-note-text{font-family:'Yomogi','Yuji Syuku',cursive;white-space:pre-line;line-height:1.45;transform:rotate(-5deg)}
.hero-note-text{position:absolute;right:calc(47 * var(--u));top:calc(30 * var(--u));width:calc(150 * var(--u));font-size:calc(14 * var(--u));text-align:center}
.carousel{height:calc(230 * var(--u))}
.slide{top:calc(5 * var(--u));width:calc(220 * var(--u))!important;height:calc(220 * var(--u))!important;aspect-ratio:1;border:calc(1.25 * var(--u)) solid var(--ink);border-radius:calc(19 * var(--u))!important;background:#fff;transition:left .75s cubic-bezier(.22,.75,.18,1),transform .75s,opacity .35s}
.slide[data-position=left]{left:calc(-22 * var(--u))}.slide[data-position=center]{left:calc(234 * var(--u));z-index:1}.slide[data-position=right]{left:calc(490 * var(--u))}
.slide .art{width:100%;height:100%;object-fit:cover;transform:none!important}.slide svg.art{preserve-aspect-ratio:xMidYMid slice}
.carousel-arrow{top:calc(102 * var(--u));border-width:calc(1.25 * var(--u));box-shadow:calc(1.2 * var(--u)) calc(1.2 * var(--u)) 0 var(--ink)}
.about{grid-template-columns:minmax(0,1fr) calc(190 * var(--u));padding:calc(24 * var(--u)) calc(62 * var(--u)) calc(35 * var(--u));min-height:calc(193 * var(--u));align-items:center}
.about-copy{border:0;margin:0;padding:0;min-height:0;max-width:calc(330 * var(--u))}.about h2{font-size:calc(30 * var(--u))}.about p{font-size:calc(8.5 * var(--u));max-width:calc(330 * var(--u))}
.about-note-text{font-size:calc(16 * var(--u));text-align:center;color:var(--ink);margin:0!important;align-self:center}
.make-play{height:calc(103 * var(--u));overflow:hidden!important}.make-play>span{top:calc(3 * var(--u));font-size:calc(104 * var(--u));clip-path:none!important;line-height:.94}
.services{padding-top:calc(40 * var(--u));padding-bottom:calc(12 * var(--u))}.service-grid{gap:calc(17 * var(--u));margin-top:calc(16 * var(--u))}.service-card{min-height:calc(139 * var(--u));padding:calc(12 * var(--u));gap:calc(10 * var(--u));overflow:visible}.service-card>.art,.service-card>.service-illustration{width:calc(120 * var(--u));height:calc(104 * var(--u));object-fit:cover;border-radius:calc(13 * var(--u));border:calc(.8 * var(--u)) solid #1c1c1c}.service-copy{margin-left:0;padding-top:calc(7 * var(--u));padding-bottom:calc(32 * var(--u))}
.service-detail{position:absolute;right:calc(11 * var(--u));bottom:calc(10 * var(--u));height:calc(25 * var(--u));min-width:calc(91 * var(--u));padding:0 calc(10 * var(--u));border:calc(1 * var(--u)) solid #222;border-radius:999px;display:flex;align-items:center;justify-content:space-between;gap:calc(12 * var(--u));font-size:calc(7.5 * var(--u));font-weight:800;background:#fff}.service-detail b{font-size:calc(13 * var(--u))}.service-card:hover .service-detail{background:var(--yellow)}
.works{padding-top:calc(39 * var(--u))}.work-grid{gap:calc(18 * var(--u));margin-top:calc(15 * var(--u))}.work-image{aspect-ratio:16/9;border:calc(.8 * var(--u)) solid #252525}.work-card h3{font-size:calc(10.5 * var(--u));margin-top:calc(7 * var(--u))}
.process-route{fill:none;stroke:var(--blue);stroke-width:1.2;stroke-dasharray:2 3}.route-dot{fill:var(--blue)}.process-copy h2{margin-bottom:calc(16 * var(--u))}.process-step-content{transition:opacity .18s ease,transform .18s ease}.process-step-content.is-changing{opacity:0;transform:translateX(calc(8 * var(--u)))}.step-description{line-height:1.85;margin-top:calc(12 * var(--u))}.step-tabs button{transition:background .2s,color .2s,transform .2s}.step-tabs button[aria-selected=true]{transform:translateY(calc(-2 * var(--u)));box-shadow:0 calc(2 * var(--u)) 0 var(--yellow)}
.editorial-section{padding-top:calc(37 * var(--u));padding-bottom:calc(24 * var(--u));min-height:calc(180 * var(--u));border-top:calc(.8 * var(--u)) dashed #777}.editorial-section h2{font-size:calc(22 * var(--u))}.blog{padding-right:0}.blog-grid{grid-template-columns:repeat(2,minmax(0,calc(250 * var(--u))));gap:calc(20 * var(--u));margin-top:calc(15 * var(--u))}.blog-card>.art,.blog-card>.blog-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:calc(7 * var(--u));border:calc(.8 * var(--u)) solid #333}.news{border-left:0;padding-left:0}.news-list{max-width:calc(620 * var(--u));margin-top:calc(15 * var(--u))}.news-list a{font-size:calc(8.5 * var(--u));padding:calc(12 * var(--u)) calc(4 * var(--u))}.news-list a b{margin-left:auto;font-size:calc(13 * var(--u))}
.faq-note-text{font-size:calc(12 * var(--u));margin-top:calc(27 * var(--u));max-width:calc(105 * var(--u));text-align:center}.contact-section{justify-content:space-between;padding-right:calc(52 * var(--u));min-height:calc(112 * var(--u))}.contact-main{margin-left:auto}.tp-contact-form:empty{display:none}

@media(max-width:600px){
 .hero-note-text{right:15px;top:67px;width:115px;font-size:13px}.carousel{height:258px}.slide{width:245px!important;height:245px!important;top:6px}.slide[data-position=left]{left:-226px}.slide[data-position=center]{left:calc(50% - 122.5px)}.slide[data-position=right]{left:calc(100% - 19px)}.carousel-arrow{top:112px}
 .about{display:grid;grid-template-columns:1fr;padding:35px 25px 39px;min-height:0}.about-copy{max-width:none}.about h2{font-size:28px}.about p{font-size:11px;max-width:none}.about-note-text{font-size:17px;margin-top:30px!important;justify-self:end;max-width:155px}.make-play{height:71px!important}.make-play>span{font-size:16.5vw;top:7px}
 .services{padding-top:38px}.service-grid{gap:23px}.service-card{min-height:190px;padding:15px;align-items:flex-start}.service-card>.art,.service-card>.service-illustration{width:42%;height:125px}.service-copy{padding-bottom:43px}.service-detail{height:31px;min-width:112px;font-size:10px;right:14px;bottom:13px}
 .work-image{aspect-ratio:16/9}.work-card h3{font-size:14px}.process-route{stroke-width:1.4}.process-copy{padding-left:25px;padding-right:25px}.step-description{line-height:1.85}.step-tabs button[aria-selected=true]{transform:translateY(-2px)}
 .editorial-section{padding-top:42px;padding-bottom:34px}.blog-grid{grid-template-columns:1fr;gap:27px}.editorial-section h2{font-size:calc(25px * var(--tp-mobile-heading-scale,1))}.news{border-top:1px dashed #777;margin-top:0}.news-list{max-width:none}.news-list a{font-size:11px;padding:15px 2px}.faq-note-text{position:absolute;right:0;top:-21px;font-size:12px;width:105px;margin:0}.contact-section{min-height:165px;padding-right:22px}.contact-main{margin-left:0}
}

/* 3.2 requested motion, spacing and card layouts */
.hero-heading{padding-bottom:calc(14 * var(--u));height:calc(125 * var(--u))}
.hero-note-text{top:calc(27 * var(--u));right:calc(44 * var(--u));font-size:calc(17 * var(--u));font-weight:700;line-height:1.35;color:var(--ink);text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:calc(4 * var(--u));text-underline-offset:calc(-1 * var(--u));text-decoration-skip-ink:none}
.carousel{height:calc(220 * var(--u));overflow:hidden;padding-inline:calc(35 * var(--u))}
.carousel-stage{position:relative;display:flex;align-items:center;gap:calc(24 * var(--u));width:max-content;height:100%;overflow:visible;transition:transform .72s cubic-bezier(.22,.74,.2,1);will-change:transform}
.carousel-stage.no-transition{transition:none!important}
.slide,.slide[data-position=left],.slide[data-position=center],.slide[data-position=right]{position:relative;left:auto;top:auto;flex:0 0 calc(190 * var(--u));width:calc(190 * var(--u))!important;height:calc(190 * var(--u))!important;border-radius:calc(17 * var(--u))!important;z-index:auto;transition:transform .3s ease,box-shadow .3s ease}
.slide:hover{transform:translateY(calc(-3 * var(--u)));box-shadow:calc(3 * var(--u)) calc(4 * var(--u)) 0 #1112}.carousel-arrow{top:calc(94 * var(--u));z-index:4}.hero-caption{margin-top:calc(12 * var(--u))}.carousel-controls{padding-top:calc(10 * var(--u));height:calc(42 * var(--u))}
.mega-menu{display:block;opacity:0;visibility:hidden;transform:translateY(calc(-10 * var(--u))) scale(.92);transform-origin:top right;clip-path:inset(0 0 100% 0 round 0 0 calc(20 * var(--u)) calc(20 * var(--u)));transition:opacity .28s ease,transform .38s cubic-bezier(.2,.9,.2,1.15),clip-path .38s ease,visibility 0s linear .38s}
.mega-menu[hidden]{display:none}.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);clip-path:inset(0 0 0 0 round 0 0 calc(20 * var(--u)) calc(20 * var(--u)));transition-delay:0s}
.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:calc(48 * var(--u));padding:calc(41 * var(--u)) calc(70 * var(--u)) calc(45 * var(--u));min-height:calc(220 * var(--u));position:relative;align-items:start}.about-title-block h2{font-size:calc(31 * var(--u));line-height:1.3}.about-body-block{padding-top:calc(8 * var(--u));max-width:calc(260 * var(--u))}.about-body-block p{font-size:calc(9 * var(--u));line-height:2;max-width:none;margin:0}.about-button{margin-top:calc(18 * var(--u))}.about-note-text{position:absolute;right:calc(33 * var(--u));bottom:calc(31 * var(--u));font-size:calc(12 * var(--u));max-width:calc(120 * var(--u));margin:0!important}
.make-play.tp-ticker{height:calc(104 * var(--u));overflow:hidden!important;display:flex;align-items:center;border-block:calc(.6 * var(--u)) solid #9994}.ticker-track{display:flex;align-items:center;height:100%;width:max-content;animation:tp-ticker-scroll 28s linear infinite;will-change:transform}.ticker-sequence{display:flex;align-items:center;height:100%;flex-shrink:0}.ticker-text-item{display:block;padding-right:calc(50 * var(--u));font-family:Arial,'Noto Sans JP',sans-serif;font-size:calc(91 * var(--u));font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:calc(.7 * var(--u)) #777;white-space:nowrap;letter-spacing:-.05em}.ticker-logo-item{width:calc(190 * var(--u));height:calc(66 * var(--u));margin-right:calc(42 * var(--u));display:grid;place-items:center;align-self:center;flex-shrink:0;line-height:0}.ticker-logo-item img{display:block;margin:auto;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}@keyframes tp-ticker-scroll{to{transform:translateX(-50%)}}
.services{padding-top:calc(52 * var(--u));padding-bottom:calc(22 * var(--u))}.service-grid{gap:calc(22 * var(--u));margin-top:calc(20 * var(--u))}.service-card{min-height:calc(154 * var(--u));padding:calc(14 * var(--u));gap:calc(12 * var(--u));border-radius:calc(20 * var(--u))}.service-card>.art,.service-card>.service-illustration{width:calc(116 * var(--u));height:calc(116 * var(--u));aspect-ratio:1;object-fit:cover;border-radius:calc(12 * var(--u))}.service-copy{padding-bottom:calc(37 * var(--u))}.service-detail{right:calc(13 * var(--u));bottom:calc(12 * var(--u))}
.works{padding-top:calc(52 * var(--u));padding-bottom:calc(32 * var(--u))}.work-grid{display:flex;gap:calc(17 * var(--u));margin-top:calc(20 * var(--u));padding-bottom:calc(18 * var(--u));overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:var(--blue) #dedede;scrollbar-width:thin}.work-grid::-webkit-scrollbar{height:calc(3 * var(--u))}.work-grid::-webkit-scrollbar-track{background:#dedede}.work-grid::-webkit-scrollbar-thumb{background:var(--blue)}.work-card{flex:0 0 calc(145 * var(--u));scroll-snap-align:start}.work-image{aspect-ratio:3/2;border-radius:calc(7 * var(--u));border-width:calc(.7 * var(--u))}.work-category{display:inline-flex;margin-top:calc(10 * var(--u));border:calc(.8 * var(--u)) solid var(--blue);border-radius:999px;padding:calc(3 * var(--u)) calc(9 * var(--u));color:var(--blue);font-size:calc(6.5 * var(--u));font-weight:800}.work-card h3{font-size:calc(8.8 * var(--u));min-height:calc(29 * var(--u));margin-top:calc(7 * var(--u));line-height:1.5}.work-date{display:block;color:#888;font-size:calc(6.5 * var(--u));margin-top:calc(4 * var(--u))}.work-meta{justify-content:flex-start;gap:calc(5 * var(--u));margin-top:calc(7 * var(--u));white-space:normal}.work-meta .copy{margin-left:auto}.island-code{font-size:calc(6.5 * var(--u))}.work-meta .copy{height:calc(18 * var(--u));padding-inline:calc(8 * var(--u));font-size:calc(7 * var(--u))}.work-meta .play-link{height:calc(20 * var(--u));padding-inline:calc(9 * var(--u));font-size:calc(7 * var(--u))}
.process{grid-template-columns:calc(380 * var(--u)) 1fr;gap:calc(18 * var(--u));padding-top:calc(12 * var(--u));margin-top:calc(24 * var(--u))}.gear-drawing{width:calc(350 * var(--u));height:calc(294 * var(--u))}.process-route{stroke:#92a5b9;stroke-width:1;stroke-dasharray:none}.route-dot{fill:var(--blue)}.orbit-step:nth-child(1){left:calc(151 * var(--u));top:calc(9 * var(--u))}.orbit-step:nth-child(2){left:calc(221 * var(--u));top:calc(47 * var(--u))}.orbit-step:nth-child(3){left:calc(267 * var(--u));top:calc(101 * var(--u))}.orbit-step:nth-child(4){left:calc(297 * var(--u));top:calc(164 * var(--u))}.orbit-step:nth-child(5){left:calc(311 * var(--u));top:calc(226 * var(--u))}.orbit-step b{background:var(--paper);padding:0 calc(2 * var(--u));line-height:1.05}.orbit-step span{background:var(--paper);padding:0 calc(2 * var(--u));line-height:1.35}.process-copy{padding-top:calc(32 * var(--u))}.process-copy h2{margin-bottom:calc(19 * var(--u))}.step-description{line-height:2.15;margin-top:calc(14 * var(--u));min-height:calc(70 * var(--u))}.step-tabs{margin-top:calc(15 * var(--u))}
.editorial-section{padding-top:calc(50 * var(--u));padding-bottom:calc(40 * var(--u))}.blog-grid{margin-top:calc(20 * var(--u))}.blog-card>.art,.blog-card>.blog-image{display:block;aspect-ratio:16/9;min-height:calc(115 * var(--u));object-fit:cover;background:#eef2f7}

@media(max-width:600px){
 .hero-heading{min-height:155px;height:auto}.hero-note-text{top:70px;right:13px;width:130px;font-size:15px}.carousel{height:258px;padding-inline:18px}.carousel-stage{gap:18px}.slide,.slide[data-position=left],.slide[data-position=center],.slide[data-position=right]{flex-basis:245px;width:245px!important;height:245px!important}.carousel-arrow{top:112px}.hero-caption{margin-top:12px}
 .mega-menu{transform-origin:top center;clip-path:inset(0 0 100% 0 round 0 0 20px 20px)}.mega-menu.is-open{clip-path:inset(0 0 0 0 round 0 0 20px 20px)}
 .about{grid-template-columns:1fr;row-gap:20px;padding:44px 25px 47px}.about-title-block h2{font-size:28px}.about-body-block{padding:0;max-width:none}.about-body-block p{font-size:11px}.about-note-text{position:static;justify-self:end;font-size:15px;max-width:145px;margin-top:7px!important}.make-play.tp-ticker{height:78px!important}.ticker-text-item{font-size:65px;padding-right:35px}.ticker-logo-item{width:145px;height:48px;margin-right:30px}
 .services{padding-top:48px;padding-bottom:24px}.service-card{min-height:218px;padding:16px;gap:14px}.service-card>.art,.service-card>.service-illustration{width:43%;height:auto;aspect-ratio:1;border-radius:12px}.service-copy{padding-bottom:48px}.service-detail{right:15px;bottom:14px}
 .works{padding-top:48px;padding-bottom:30px}.work-grid{gap:20px;padding-bottom:17px}.work-card{flex-basis:82vw}.work-card h3{font-size:14px;min-height:0}.work-category,.work-date,.island-code{font-size:10px}
 .process{grid-template-columns:1fr;padding-top:18px}.process-machine{width:375px}.gear-drawing{width:350px}.orbit-step:nth-child(1){left:151px}.orbit-step:nth-child(2){left:221px}.orbit-step:nth-child(3){left:267px}.orbit-step:nth-child(4){left:297px}.orbit-step:nth-child(5){left:311px}.process-copy{padding-top:31px}.step-description{line-height:1.95}
 .editorial-section{padding-top:48px;padding-bottom:38px}.blog-card>.art,.blog-card>.blog-image{min-height:0}
}
.blog-card>img.art,.blog-card>img.blog-image,.blog-card>svg.art{display:block;width:100%;height:auto!important;aspect-ratio:16/9!important;min-height:0;object-fit:cover;overflow:hidden}
.home .works .work-image{display:block;width:100%;height:auto!important;aspect-ratio:16/9!important;overflow:hidden;background:var(--paper)}
.home .works .work-image>img,.home .works .work-image>svg,.home .works .work-image>.art{display:block;width:100%;height:100%!important;aspect-ratio:16/9!important;object-fit:cover}
