/* StudioMatsu | Plus Jakarta Sans variable, locally hosted. See fonts/OFL license. */
@font-face{font-family:'Plus Jakarta Sans';src:url('fonts/plus-jakarta-sans.ttf') format('truetype');font-weight:200 800;font-style:normal;font-display:swap}
body .elementor,body .woocommerce,body .woocommerce :is(h1,h2,h3,h4,h5,h6),body :is(input,select,textarea,button),body .ecofit-whatsapp,body .ecofit-quote-panel{font-family:'Plus Jakarta Sans',sans-serif!important}
body .elementor :is(h1,h2,h3,h4,h5,h6,p,a,button,label,input,select,textarea,.elementor-widget-text-editor,.elementor-heading-title,.elementor-button,.elementor-tab-title){font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .e-con,.elementor .elementor-widget{min-width:0}
.elementor :is(h1,h2,h3,h4,h5,h6,p,a){overflow-wrap:anywhere}
.elementor .elementor-button{max-width:100%;white-space:normal}
.elementor .elementor-button-text{min-width:0}
.elementor .studiomatsu-photo img{display:block;width:100%;height:auto!important;aspect-ratio:4/3;object-fit:cover!important;object-position:center}
.studiomatsu-project-card img{aspect-ratio:16/10!important;object-position:50% 45%!important}
.woocommerce ul.products li.product a img{height:auto!important;aspect-ratio:1;object-fit:contain;background:#181818}
.woocommerce ul.products li.product{display:flex;flex-direction:column;min-width:0}
.woocommerce ul.products li.product .button{margin-top:auto;align-self:flex-start}
.woocommerce ul.products li.product .woocommerce-loop-product__title{overflow-wrap:anywhere;font-family:'Plus Jakarta Sans',sans-serif!important}
.elementor .studiomatsu-hero{position:relative;background-position:right 40%!important;padding-top:96px!important;padding-bottom:0!important;isolation:isolate}
.studiomatsu-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0e0e0ef5 0%,#0e0e0ee8 35%,#0e0e0e35 100%);z-index:-1}
.studiomatsu-hero-copy{min-height:500px}
.studiomatsu-hero h1{font-size:clamp(39px,4.3vw,61px);line-height:1.2;letter-spacing:-.025em;text-wrap:balance}
.elementor .studiomatsu-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:32px!important;background:#121212c9;border-top:1px solid #ffffff30;margin-top:56px;backdrop-filter:blur(10px)}
.elementor .studiomatsu-metrics>.e-con{width:auto!important;gap:12px}
.studiomatsu-count .elementor-heading-title{font-size:39px;line-height:1.2;white-space:nowrap;font-variant-numeric:tabular-nums}
.elementor .studiomatsu-value-grid,.elementor .studiomatsu-category-grid,.elementor .studiomatsu-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.elementor .studiomatsu-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.elementor .studiomatsu-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.elementor :is(.studiomatsu-value-card,.studiomatsu-category-card,.studiomatsu-project-card){width:auto!important;min-width:0}
.elementor .studiomatsu-value-card{padding:0 24px 32px!important;gap:20px;transition:border-color .2s,transform .2s}
.studiomatsu-value-card:hover{border-color:#fec200!important;transform:translateY(-4px)}
.studiomatsu-value-card .elementor-heading-title,.studiomatsu-category-card .elementor-heading-title{font-size:25px;line-height:1.25}
.studiomatsu-value-icon{margin-bottom:12px}
.elementor .studiomatsu-category-card{gap:20px;border:1px solid #ffffff20;transition:border-color .2s}
.studiomatsu-category-card:hover,.studiomatsu-category-card:focus-within{border-color:#fec200}
.studiomatsu-category-card .elementor-widget-button{margin-top:auto}
.studiomatsu-category-card .elementor-button{padding:14px 16px!important;font-size:14px!important}
.studiomatsu-category-card img{aspect-ratio:1!important}
.studiomatsu-story-list{display:flex;gap:32px;flex-wrap:wrap;padding:16px 0}
.studiomatsu-story-open{display:flex;flex-direction:column;align-items:center;gap:16px;background:none!important;color:#fff!important;border:0!important;padding:0!important;width:120px;font-size:14px;line-height:1.4;cursor:pointer}
.studiomatsu-story-open>span{display:block;padding:5px;border:2px solid #fec200;border-radius:50%;transition:transform .2s}
.studiomatsu-story-open:hover>span{transform:scale(1.05)}
.studiomatsu-story-open img{display:block;width:104px;height:104px!important;aspect-ratio:1;object-fit:cover;border-radius:50%}
.studiomatsu-story-dialog{padding:0;border:1px solid #ffffff30;background:#000;color:#fff;width:min(450px,calc(100vw - 24px),calc((100dvh - 24px)*9/16));max-width:100%;max-height:calc(100dvh - 24px);overflow:hidden;margin:auto}
.studiomatsu-story-dialog::backdrop{background:#000e;backdrop-filter:blur(6px)}
.studiomatsu-story-stage{position:relative;aspect-ratio:9/16}
.studiomatsu-story-stage video{display:block;width:100%;height:100%;object-fit:contain;position:absolute;inset:0}
.studiomatsu-story-top{position:absolute;inset:0 0 auto;padding:16px;background:linear-gradient(#000d,transparent)}
.studiomatsu-story-progress{height:4px;background:#ffffff55;border-radius:2px;overflow:hidden;margin-bottom:16px}
.studiomatsu-story-progress span{display:block;height:100%;width:0;background:#fec200}
.studiomatsu-story-caption,.studiomatsu-story-controls,.studiomatsu-story-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}
.studiomatsu-story-caption{font-size:14px;line-height:1.4;margin-bottom:12px}
.studiomatsu-story-caption time{font-size:12px;white-space:nowrap}
.studiomatsu-story-dialog button{border:1px solid #ffffff50;background:#111b;color:#fff;border-radius:0;min-height:44px;padding:8px 12px;font-size:12px;line-height:1.2;cursor:pointer}
.studiomatsu-story-dialog button:hover{background:#fec200;color:#111}
.studiomatsu-story-dialog button:disabled{opacity:.35;cursor:default}
.studiomatsu-story-bottom{position:absolute;inset:auto 0 0;padding:24px 12px 16px;background:linear-gradient(transparent,#000d)}
.studiomatsu-story-status{font-size:11px;text-align:center;line-height:1.4}
@media(max-width:1024px){.elementor .studiomatsu-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.studiomatsu-value-card .elementor-heading-title{font-size:20px}.elementor .studiomatsu-value-card{padding:0 16px 24px!important}.studiomatsu-count .elementor-heading-title{font-size:31px}.studiomatsu-metrics p{font-size:14px}.studiomatsu-hero-copy{min-height:420px}}
@media(max-width:767px){.elementor .studiomatsu-hero{padding-top:48px!important;background-position:65% center!important}.studiomatsu-hero:before{background:#0e0e0ebd}.studiomatsu-hero-copy{min-height:0}.elementor .studiomatsu-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 16px!important;margin-top:32px;gap:24px 16px}.studiomatsu-count .elementor-heading-title{font-size:31px}.elementor .studiomatsu-value-grid,.elementor .studiomatsu-project-grid{grid-template-columns:1fr}.elementor .studiomatsu-category-grid{grid-template-columns:1fr}.studiomatsu-value-card .elementor-heading-title{font-size:25px}.studiomatsu-story-list{gap:24px 16px}.studiomatsu-story-open{width:calc((100% - 32px)/3);font-size:12px}.studiomatsu-story-open img{width:100%;height:auto!important}.studiomatsu-header .elementor-widget-image{max-width:58%}.studiomatsu-header .elementor-widget-nav-menu{width:auto!important}.studiomatsu-header .elementor-widget-button{width:100%}.studiomatsu-header .elementor-button{width:100%}.ecofit-quote-panel .button{max-width:100%;font-size:14px}.elementor .studiomatsu-photo img{aspect-ratio:4/3}.woocommerce .woocommerce-breadcrumb{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
/* Stories: circular clipping and an unobtrusive viewer, isolated from Elementor buttons. */
body .elementor .studiomatsu-story-open>span{box-sizing:border-box;width:100%;max-width:118px;aspect-ratio:1;flex:none;overflow:hidden;border-radius:50%!important;padding:5px}
body .elementor .studiomatsu-story-open>span img{width:100%!important;height:100%!important;max-width:none;aspect-ratio:1;object-fit:cover!important;border-radius:50%!important;clip-path:circle(50%)}
body .elementor .studiomatsu-story-controls [data-action="pause"],body .elementor .studiomatsu-story-controls [data-action="sound"],body .elementor .studiomatsu-story-bottom{display:none!important}
body .elementor .studiomatsu-story-controls{position:absolute;top:30px;right:8px}
body .elementor .studiomatsu-story-controls [data-action="close"]{width:32px!important;height:32px!important;min-height:0!important;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:white!important;font-size:0!important;box-shadow:none!important;line-height:1!important}
body .elementor .studiomatsu-story-controls [data-action="close"]::after{content:'×';font:24px/1 Arial,sans-serif}
body .elementor .studiomatsu-story-controls [data-action="close"]:focus-visible{outline:2px solid #fec200;outline-offset:2px}
.studiomatsu-story-caption{padding-right:30px}
.studiomatsu-story-top{pointer-events:none}
.studiomatsu-story-controls [data-action="close"]{pointer-events:auto}
body .elementor .studiomatsu-story-open{display:flex!important;flex-direction:column!important;align-items:center!important;gap:12px!important;width:118px!important}
body .elementor .studiomatsu-story-open>span{display:block!important;width:118px!important;height:118px!important}
@media(max-width:767px){body .elementor .studiomatsu-story-open{width:calc((100% - 32px)/3)!important}body .elementor .studiomatsu-story-open>span{width:100%!important;height:auto!important}}
