:root{--teal:#039fad;--teal-ink:#027c88;--teal-soft:#bbe7eb;--mist:#eaf6f7;--deep:#0b0c11;--deep-2:#0a434b;--deep-3:#041f23;--ink:#0b0c11;--muted:#5b5f63;--line:#e2e2de;--grey:#d3dedf;--bg:#fff;--bg-alt:#f4f4f2;--error:#b3261e;--orange:#c24e00;--orange-dark:#a34100;--pink:#ad325a;--dot:#37c2c9;--f-head:var(--font-noto), "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif;--f-body:var(--font-noto), "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", YuGothic, Meiryo, sans-serif;--f-en:var(--font-open), "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--text-small:.75rem;--text-label:.875rem;--text-body:1rem;--text-lead:clamp(1rem, 1.5vw, 1.125rem);--text-card:clamp(1.25rem, 1.8vw, 1.5rem);--text-section:clamp(1.5rem, 2.6vw, 2rem);--text-display:clamp(1.75rem, 3.2vw, 2.5rem);--text-hero:clamp(2.75rem, 7.2vw, 6.5rem);--text-page-intro:clamp(1.5rem, 2.4vw, 1.875rem);--text-page-en:clamp(2.25rem, 5.5vw, 4.5rem);--text-product:clamp(2rem, 4vw, 3rem);--text-brand:1.5rem;--weight-body:400;--weight-lead:500;--weight-heading:500;--leading-body:1.9;--leading-heading:1.5;--max:1100px;--gut:clamp(16px, 4vw, 40px);--r:0;--ease:cubic-bezier(.65, 0, .35, 1);--hd:72px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 26px);-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body);line-break:strict;word-break:auto-phrase;overflow-wrap:break-word;margin:0}img,svg{max-width:100%;display:block}a{color:inherit}button{font:inherit}:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}.wrap{width:min(var(--max), 100% - var(--gut) * 2);margin-inline:auto}.ib{max-width:100%;display:inline-block}.sp-only{display:none}.skip{z-index:100;background:#fff;border-radius:8px;padding:8px 16px;position:absolute;top:8px;left:-9999px}.skip:focus{left:16px}h1,h2,h3,h4{font-family:var(--f-head);font-weight:var(--weight-heading);line-height:var(--leading-heading);font-feature-settings:"palt";letter-spacing:.03em;margin:0}p{margin:0}h1,h2,h3,p,li,legend{text-wrap:pretty}h1,h2,h3,h4{text-wrap:balance}:is(h1,h2,h3,h4,.ph-copy):has(.ib){text-wrap:pretty}.label{font-family:var(--f-en);font-weight:600;font-size:var(--text-small);letter-spacing:.2em;text-transform:uppercase;color:var(--teal-ink);align-items:center;gap:10px;line-height:1;display:inline-flex}.label:before{content:"";background:var(--teal);width:22px;height:2px}.h-sec{font-size:var(--text-section);margin-top:16px;font-weight:700}.lead{color:var(--muted);font-size:var(--text-lead);max-width:40em}.en{font-family:var(--f-en);letter-spacing:.14em;text-transform:uppercase;font-weight:600}.btn{border:2px solid var(--teal-ink);min-height:54px;font-weight:700;font-size:var(--text-body);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:12px;padding:0 28px;line-height:1.3;text-decoration:none;transition:background-color .2s,border-color .2s,color .2s;display:inline-flex}.btn .arw{width:18px;height:18px;transition:transform .3s var(--ease);flex:none}.btn:hover .arw{transform:translate(4px)}.btn[disabled]{opacity:.6;cursor:progress}.link-more{max-width:100%;font-weight:700;font-size:var(--text-body);color:var(--teal-ink);border-bottom:2px solid var(--teal-soft);align-items:center;gap:10px;padding-bottom:6px;text-decoration:none;transition:border-color .2s;display:inline-flex}.link-more .arw{width:16px;height:16px;transition:transform .3s var(--ease);flex:none}.link-more:hover{border-color:var(--teal-ink)}.link-more:hover .arw{transform:translate(4px)}.site-header{z-index:50;border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.hd{height:var(--hd);align-items:center;gap:28px;display:flex}.brand{align-items:center;gap:10px;margin-right:auto;text-decoration:none;display:inline-flex}.brand img{width:40px;height:auto}.site-footer .brand img{width:150px}.brand-logo{aspect-ratio:1320/335;flex:none;width:170px;display:block;position:relative;overflow:hidden}.brand .brand-logo img{width:134.394%;max-width:none;height:auto;position:absolute;top:-80.597%;left:-17.4242%}.site-footer .brand-logo{width:200px}@media (max-width:520px){.site-header .brand-logo{width:155px}}.brand b{font-family:var(--f-en);font-weight:700;font-size:var(--text-brand);letter-spacing:.22em;color:var(--deep);line-height:1}.brand small{font-size:var(--text-small);color:var(--muted);letter-spacing:.06em;white-space:nowrap}@media (max-width:520px){.site-header .brand small{display:none}}.gnav ul{gap:30px;margin:0;padding:0;list-style:none;display:flex}.gnav a{font-size:var(--text-body);padding:8px 0;font-weight:700;text-decoration:none;display:block;position:relative}.gnav a:after{content:"";background:var(--teal);transform-origin:0;height:2px;transition:transform .3s var(--ease);position:absolute;bottom:2px;left:0;right:0;transform:scaleX(0)}.gnav a:hover:after,.gnav a[aria-current=page]:after{transform:scaleX(1)}.hd-cta{min-height:46px;font-size:var(--text-body);padding:0 22px}.menu-toggle{display:none}@media (max-width:1000px){.menu-toggle{width:44px;height:44px;color:var(--deep);cursor:pointer;background:0 0;border:0;border-radius:0;flex:0 0 44px;justify-content:center;align-items:center;margin-left:auto;margin-right:-10px;padding:0;display:inline-flex}.menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{width:24px;height:2px;transition:transform .3s var(--ease), background-color .3s;background:currentColor;display:block}.menu-toggle i{position:relative}.menu-toggle i:before,.menu-toggle i:after{content:"";position:absolute;left:0}.menu-toggle i:before{top:-7px}.menu-toggle i:after{top:7px}.nav-open .menu-toggle i{background:0 0}.nav-open .menu-toggle i:before{transform:translateY(7px)rotate(45deg)}.nav-open .menu-toggle i:after{transform:translateY(-7px)rotate(-45deg)}.gnav{left:0;right:0;top:calc(var(--hd) + 1px);z-index:49;padding:8px var(--gut) 32px;background:#fff;display:none;position:fixed;bottom:0;overflow-y:auto}.nav-open .gnav{display:block}.nav-open{overflow:hidden}.gnav ul{flex-direction:column;gap:0}.gnav a{border-bottom:1px solid var(--line);font-size:var(--text-body);padding:18px 0}.gnav a:after,.hd-cta{display:none}.sp-only{display:block}}.sec-tight{padding:clamp(40px,5vw,64px) 0}.sec-head{text-align:center;justify-items:center;margin-bottom:clamp(36px,5vw,56px);display:grid}.sec-head>div{justify-items:center;display:grid}.sec-head .label{display:none}.sec-head .h-sec{margin-top:0}.sec-head .h-sec:after{content:"";background:var(--teal);width:50px;height:5px;margin:20px auto 0;display:block}.sec-head .lead,.sec-head .link-more{margin-top:28px}.sec-head .lead{max-width:46em;font-weight:700;font-size:var(--text-lead);color:var(--ink);line-height:1.75}.hero{padding:clamp(28px,4vw,48px) 0 clamp(40px,5vw,64px);position:relative;overflow:hidden}.hero,.page-hero{isolation:isolate}.hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,5vw,72px);display:grid}.hero h1{font-size:var(--text-hero);letter-spacing:.02em;line-height:1.35}.hero-sub{font-family:var(--f-en);font-weight:700;font-size:var(--text-lead);color:var(--teal);margin-top:12px;line-height:1.3}.hero .lead{font-weight:700;font-size:var(--text-lead);color:var(--ink);margin-top:20px;line-height:1.75}.hero-cta{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-visual{aspect-ratio:560/480;position:relative}.hero .hero-offer{font-size:clamp(1.25rem,2.1vw,1.625rem);font-weight:var(--weight-heading);color:var(--teal-ink);line-height:1.55;display:block}.hero-offer .ib{max-width:100%}.hero-description{margin-top:10px;display:block}.hero .hero-cta{align-items:center;gap:16px 24px;margin-top:28px}.hero-cta .btn.btn-lg{width:auto;min-height:56px;font-size:var(--text-body);padding:12px 24px}.hero-cta .btn-lg .arw{margin:0;position:static}@media (max-width:860px){.hero-grid{grid-template-columns:1fr}br.pc{display:none}}.hero.hero--photographic{min-height:calc(100svh - var(--hd));background:#f4f6f4;align-items:center;padding:0;display:flex}.hero.hero--photographic .hero-background{z-index:0;object-fit:cover;object-position:center;pointer-events:none;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero.hero--photographic .hero-grid{z-index:2;grid-template-columns:minmax(0,1fr);gap:0;padding-block:72px;position:relative}.hero.hero--photographic .hero-copy{width:min(100%,620px);min-width:0}.hero.hero--photographic h1{color:var(--deep);letter-spacing:.025em;font-size:clamp(44px,5.2vw,72px);line-height:1.42}.hero.hero--photographic .hero-sub{color:var(--deep);letter-spacing:.08em;margin-top:20px;font-size:18px}.hero.hero--photographic .lead{max-width:32em;color:var(--deep);margin-top:28px;font-size:18px;font-weight:500;line-height:1.95}.hero.hero--photographic .hero-sub,.hero.hero--photographic .lead,.hero.hero--photographic .hero-work-link{text-shadow:0 0 3px #fff,0 1px 4px #fff}@media (max-width:700px){.hero.hero--photographic{align-items:flex-start}.hero.hero--photographic .hero-background{object-position:40% center}.hero.hero--photographic .hero-grid{padding-block:40px 230px}.hero.hero--photographic .hero-copy{max-width:530px}.hero.hero--photographic h1{font-size:clamp(40px,9.2vw,56px);line-height:1.45}.hero.hero--photographic .hero-sub{margin-top:16px;font-size:16px}.hero.hero--photographic .lead{margin-top:24px;font-size:16px;line-height:1.9}.hero.hero--photographic .hero-cta{gap:18px 24px;margin-top:28px}}@media (max-width:380px){.hero.hero--photographic h1{letter-spacing:.01em;font-size:clamp(30px,10.4vw,39px)}.hero.hero--photographic .hero-grid{padding-top:40px}.hero.hero--photographic .hero-cta{column-gap:20px}.hero.hero--photographic .hero-cta .btn{padding-inline:22px}}.statement{background:var(--deep);color:#fff;padding:clamp(48px,7vw,96px) 0;position:relative;overflow:hidden}.statement>.wrap{z-index:1;position:relative}.statement .q{font-size:var(--text-section);font-weight:var(--weight-heading);margin-top:24px;line-height:1.35}.lines{max-width:760px;font-family:var(--f-head);font-weight:500;font-size:var(--text-lead);color:#fff;gap:14px;margin-top:44px;line-height:1.8;display:grid}.lines p:last-child{color:#fff;font-weight:700}.st-bg{aspect-ratio:1;pointer-events:none;width:min(560px,56vw);position:absolute;top:50%;right:-4vw;transform:translateY(-50%)}@media (max-width:700px){.st-bg{opacity:.5;width:90vw;right:-24vw}}.cta-band{background:var(--mist);border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px 40px;padding:clamp(24px,4vw,40px) clamp(20px,5vw,56px);display:grid}.cta-band h2{font-size:var(--text-section);font-weight:var(--weight-heading)}.cta-band p{color:var(--muted);margin-top:6px}.cta-ill{aspect-ratio:160/120;width:clamp(110px,12vw,150px)}.cta-band.dark{background:var(--deep);color:#fff}.cta-band.dark .big{font-family:var(--f-en);font-weight:700;font-size:var(--text-display);letter-spacing:.06em;line-height:1.2}.cta-band.dark p{color:#cfe9ec}.cta-band.dark .f-d{fill:var(--teal)}@media (max-width:860px){.cta-band{grid-template-columns:1fr}}.badges{background:var(--bg-alt);padding:14px 0}.badges ul{flex-wrap:wrap;justify-content:center;gap:8px 36px;margin:0;padding:0;list-style:none;display:flex}.badges li{font-weight:700;font-size:var(--text-body);align-items:center;gap:8px;line-height:1.5;display:flex}.badges svg{width:18px;height:18px;color:var(--teal);flex:none}@media (max-width:760px){.badges ul{flex-direction:column;align-items:flex-start;gap:4px}.badges li{font-size:var(--text-body)}}.btn-lg .arw{margin-top:-9px;position:absolute;top:50%;right:24px}.btn-lg:hover .arw{transform:translate(4px)}.issue{background:var(--bg-alt);color:var(--ink)}.issue .h-sec{color:var(--deep)}.issue .sec-head .lead{color:var(--muted)}.issue .h-sec:after{display:none}.issue .sec-head .lead{margin-top:16px}.issue-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.issue-card{grid-row:span 3;grid-template-rows:subgrid;border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:20px;gap:0;padding:clamp(20px,2vw,24px) clamp(24px,2.8vw,36px);display:grid;box-shadow:0 6px 24px #062f3506}.ic-tag{background:var(--mist);max-width:100%;color:var(--teal-ink);font-weight:700;font-size:var(--text-label);border-radius:6px;place-self:start;padding:5px 12px;line-height:1.5}.ic-body{padding:16px 0 18px}.issue-card h3{font-size:var(--text-card);color:var(--deep);line-height:1.6}.issue-card .ib{max-width:100%}.ic-body p{color:var(--muted);font-size:var(--text-body);margin-top:10px;line-height:1.8}.ic-sol{border-top:1px solid var(--line);padding-top:16px}.ic-sol h4{font-size:var(--text-body);color:var(--teal-ink);line-height:1.5}.ic-sol ul{font-size:var(--text-body);margin:10px 0 0;padding-left:1.2em;line-height:1.8}.ic-sol li::marker{color:var(--teal-ink)}.ic-sol li+li{margin-top:6px}.issue--compact{background:#fff}.issue--compact>.wrap{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(32px,6vw,80px);display:grid}.issue--compact .sec-head{text-align:left;justify-items:start;margin-bottom:0}.issue--compact .sec-head>div{justify-items:start}.issue--compact .sec-head .lead{font-size:var(--text-body);font-weight:var(--weight-body);margin-top:20px}.issue--compact .issue-grid{grid-template-columns:minmax(0,1fr);gap:0}.issue--compact .issue-card{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;grid-row:auto;padding:20px 0;display:block}.issue--compact .ic-tag{font-weight:500;font-size:var(--text-label);background:0 0;border-radius:0;padding:0;display:block}.issue--compact .ic-body{padding:8px 0 0}.issue--compact .issue-card h3{font-size:var(--text-card);font-weight:var(--weight-lead);line-height:1.7}.issue--compact .issue-card .ib{display:inline}@media (max-width:860px){.issue--compact>.wrap{grid-template-columns:minmax(0,1fr);gap:32px}.issue--compact .issue-card{padding-block:18px}}.philosophy-summary{color:var(--muted);font-size:var(--text-lead);font-weight:var(--weight-body);margin-top:20px;line-height:1.8}.sol-diagram{width:100%}.sol-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.sol{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;padding:28px;box-shadow:0 6px 20px #062f3508}.sol-top{color:var(--teal-ink);margin-bottom:14px}.sol-number{font-family:var(--f-en);font-size:var(--text-label);letter-spacing:.08em;font-weight:500;line-height:1.5}.sol-content{min-width:0}.sol h3{font-size:var(--text-card);color:var(--deep);line-height:1.5}.sol .sol-content p{color:var(--muted);font-size:var(--text-body);text-wrap:pretty;margin-top:12px;line-height:1.85}@media (max-width:860px){.sol-list{grid-template-columns:1fr;gap:20px;max-width:640px;margin-inline:auto}.sol{padding:24px}.sol-top{margin-bottom:10px}}[aria-labelledby=h-philosophy] .sec-head{margin-bottom:32px}.strength{justify-content:space-between;align-items:center;gap:30px;display:flex}.checks{counter-reset:philosophy-item;flex:1;margin:0;padding:0;list-style:none}.checks li{counter-increment:philosophy-item;padding-left:32px;position:relative}.checks li+li{margin-top:16px}.checks li:before{content:counter(philosophy-item);color:var(--teal-ink);font-family:var(--f-en);font-size:var(--text-card);font-weight:700;line-height:var(--leading-heading);position:absolute;top:0;left:0}.checks b{font-size:var(--text-card);line-height:1.5;display:block}.checks li>div>span{font-size:var(--text-body);color:var(--muted);margin-top:2px;display:block}.strength-fig{aspect-ratio:3/2;background:#fff;border-radius:16px;flex:none;width:min(440px,42%);position:relative;overflow:hidden}.strength-fig>img{object-fit:contain;width:100%;height:100%}.strength-fig[data-anim]>svg{width:88%;height:88%;position:absolute;inset:6%}@media (max-width:860px){.strength{flex-direction:column;align-items:flex-start;gap:24px}.strength-fig{align-self:center;width:min(440px,100%)}}.change-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;display:grid}.change{background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:16px;padding:30px;display:flex}.change .scene{aspect-ratio:3/2;background:#fff;border:0;border-radius:16px;width:100%;overflow:hidden}.change .scene img{object-fit:contain;width:100%;height:100%;display:block}.change h3{font-size:var(--text-card);color:var(--teal-ink);text-align:center}.change p{font-size:var(--text-body)}@media (max-width:760px){.change-grid{grid-template-columns:1fr;gap:12px}.change{padding:16px}}.case-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;display:grid}.case-card{flex-direction:column;text-decoration:none;display:flex}.works-marquee{--work-columns:3;--work-gap:24px}.works-marquee-shell{width:min(calc(var(--max) + 124px), 100% - var(--gut) * 2);margin-inline:auto}.is-marquee-ready .works-marquee-shell{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:18px;display:grid}.works-marquee-arrow{width:44px;height:52px;color:var(--teal-ink);cursor:pointer;background:0 0;border:0;border-radius:999px;place-items:center;padding:10px;transition:background-color .2s,opacity .2s;display:grid}.works-marquee-arrow[hidden]{display:none}.works-marquee-arrow:hover:not(:disabled){background:var(--mist)}.works-marquee-arrow:disabled{opacity:.25;cursor:default}.works-marquee-arrow svg{fill:currentColor;width:24px;height:24px}.works-marquee-viewport{overscroll-behavior-x:contain;scrollbar-color:var(--teal) var(--mist);scroll-behavior:auto;width:100%;min-width:0;padding:8px 0 12px;position:relative;overflow:auto hidden}.works-marquee-viewport:focus-visible{outline-offset:-3px}.is-marquee-ready .works-marquee-viewport{scrollbar-width:none}.is-marquee-ready .works-marquee-viewport::-webkit-scrollbar{display:none}.works-marquee-track,.works-marquee-group{align-items:stretch;gap:var(--work-gap);width:100%;display:flex}.works-marquee-group{flex:0 0 100%}.work-tile{flex:0 0 calc((100% - (var(--work-columns) - 1) * var(--work-gap)) / var(--work-columns));border:1px solid var(--line);min-width:0;color:var(--ink);background:#fff;border-radius:16px;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.work-tile:hover{border-color:var(--teal)}.work-tile:focus-visible{outline-offset:-3px}.work-tile__image{aspect-ratio:16/9;background:var(--mist);overflow:hidden}.work-tile__image img{object-fit:cover;object-position:left top;width:100%;height:100%}.work-tile__body{flex-direction:column;flex:1;gap:10px;padding:20px;display:flex}.work-tile__meta{color:var(--muted);font-size:var(--text-small);line-height:1.6}.work-tile h3{color:var(--deep);font-size:var(--text-card);line-height:1.5}.work-tile__summary{color:var(--muted);font-size:var(--text-label);flex:1;line-height:1.8}.work-tile__more{color:var(--teal-ink);font-size:var(--text-label);text-underline-offset:5px;align-self:flex-start;margin-top:8px;font-weight:700;text-decoration:underline;display:inline-flex}.works-marquee .cta-row{margin-top:32px}@media (max-width:1000px){.works-marquee{--work-columns:2;--work-gap:20px}}@media (max-width:640px){.works-marquee{--work-columns:1;--work-gap:16px}.works-marquee-shell{width:calc(100% - 16px)}.is-marquee-ready .works-marquee-shell{gap:6px}.work-tile__body{padding:16px}}.case-card .vis{aspect-ratio:16/9;background:var(--mist);border:0;border-radius:10px;overflow:hidden}.case-card .vis img,.case-vis img{object-fit:cover;object-position:left top;width:100%;height:100%}.case-card .body{padding:16px 2px 0}.case-card time{font-family:var(--f-en);font-size:var(--text-label);color:var(--muted)}.case-card h3{font-size:var(--text-card);margin-top:4px}.case-card:hover h3{color:var(--teal-ink);text-underline-offset:4px;text-decoration:underline}@media (max-width:1000px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.case-grid{grid-template-columns:1fr}}.tabs{flex-wrap:wrap;justify-content:center;gap:12px 20px;margin:0 auto 30px;display:flex}.tab{background:var(--teal-soft);color:var(--deep);font-weight:700;font-size:var(--text-body);cursor:pointer;border:0;border-radius:30px;padding:12px 20px;line-height:1.3;transition:background-color .2s,color .2s}.tab:hover{background:#a6dde2}.tab[aria-selected=true]{background:var(--teal-ink);color:#fff}.tab-panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:clamp(24px,3.4vw,40px)}.tab-panel[hidden]{display:none}.service-panel-layout{grid-template-columns:minmax(260px,.95fr) minmax(0,1.5fr);align-items:start;gap:clamp(24px,3.4vw,48px);display:grid}.service-panel-heading,.service-panel-copy{min-width:0}.tab-panel .en{font-size:var(--text-small);letter-spacing:.08em;color:var(--muted);line-height:1.7}.tab-panel .service-panel-heading h3{color:var(--deep);margin-top:12px;font-size:clamp(1.375rem,2.1vw,1.75rem);line-height:1.5}.tab-panel .sub,.tab-panel .d{background:0 0;border-radius:0;padding:0}.tab-panel .service-panel-copy .sub{font-size:var(--text-card);font-weight:var(--weight-heading);color:var(--ink);margin-top:0;line-height:1.7}.tab-panel .d{max-width:36em;font-size:var(--text-body);color:var(--muted);margin-top:14px}.tab-panel .link-more{margin-top:24px}@media (max-width:860px){.service-panel-layout{grid-template-columns:1fr;gap:20px}.tab-panel{padding:28px}.tab-panel .service-panel-heading h3{margin-top:8px;font-size:1.5rem}}@media (max-width:760px){.tabs{gap:10px}.tab{width:calc(50% - 5px);font-size:var(--text-label);padding:10px}.tab-panel{padding:24px 20px}}.info{grid-template-columns:minmax(0,1fr);gap:clamp(48px,6vw,88px);display:grid}.list{border-top:1px solid var(--line);margin:32px 0 28px;padding:0;list-style:none}.row{grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:16px;padding:20px 4px;text-decoration:none;display:grid}.row time{font-family:var(--f-en);font-weight:600;font-size:var(--text-small);letter-spacing:.08em;color:var(--teal-ink)}.faq .row{grid-template-columns:36px minmax(0,1fr) 20px;align-items:center;transition:background-color .2s}.faq .row:hover{background:var(--bg-alt)}.q-mark{background:var(--teal-ink);color:#fff;width:32px;height:32px;font-family:var(--f-en);font-weight:700;font-size:var(--text-label);border-radius:50%;place-items:center;display:grid}.faq .chev{width:16px;height:16px;color:var(--teal-ink)}@media (max-width:480px){.row{grid-template-columns:1fr;gap:2px}.faq .row{grid-template-columns:36px minmax(0,1fr) 20px;gap:12px}}.cb-grid{text-align:center;grid-template-columns:minmax(0,1fr);justify-items:center;gap:32px;display:grid}.cb-grid>div{min-width:0}.contact-band .label{font-size:var(--text-small);color:var(--teal-ink);margin:0 0 16px;font-weight:700;line-height:1}.contact-band p{font-size:var(--text-lead);color:var(--muted);margin-top:20px}.contact-band .cb-copy{max-width:38em;font-size:var(--text-lead);text-wrap:balance;margin-inline:auto}.cb-actions{justify-items:center;gap:20px;width:100%;max-width:354px;display:grid}.cb-actions .btn{width:100%;min-height:68px;font-size:var(--text-card)}.contact-band .cb-mail{font-size:var(--text-label);font-weight:var(--weight-body);text-align:center;margin:0;line-height:1.8}.cb-mail a{font-family:var(--f-en);font-weight:600;font-size:var(--text-body);color:var(--teal-ink);text-underline-offset:4px;margin-top:6px;display:block}.site-footer{color:#0c2e36;font-size:var(--text-label);border-top:1px solid var(--line);background:#fff;padding:48px 0 0}.ft{text-align:center;justify-items:center;gap:24px;display:grid}.site-footer .brand{margin:0}.site-footer .brand b{color:#0c2e36}.site-footer .brand small{color:#555}.ft-tag{font-family:var(--f-en);letter-spacing:.12em;font-weight:700;font-size:var(--text-small);margin-top:10px}.ft-mail{margin-top:6px}.ft-mail a{font-family:var(--f-en);font-size:var(--text-body);color:var(--teal-ink)}.ft nav ul{flex-wrap:wrap;justify-content:center;gap:8px 24px;margin:0;padding:0;list-style:none;display:flex}.ft nav a{text-decoration:none}.ft nav a:hover,.ft-bottom a:hover{text-underline-offset:4px;text-decoration:underline}.ft-bottom{font-size:var(--text-small);color:#666;background:var(--bg-alt);box-shadow:0 0 0 100vmax var(--bg-alt);clip-path:inset(0 -100vmax);flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-top:40px;padding:20px 0;display:flex}.page-hero{border-bottom:1px solid var(--line);padding:clamp(28px,4vw,48px) 0 clamp(56px,7vw,96px);position:relative;overflow:hidden}.crumbs{font-size:var(--text-small);color:var(--muted);flex-wrap:wrap;gap:8px;margin:0 0 clamp(28px,5vw,56px);padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";color:var(--grey);margin-right:8px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--teal-ink)}.ph-grid,.ph-solo{min-block-size:400px}.ph-grid{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);align-items:start;gap:40px;display:grid}.ph-grid>div{min-width:0}.ph-en{font-family:var(--f-en);font-weight:700;font-size:var(--text-page-en);letter-spacing:.02em;color:var(--deep);white-space:nowrap;line-height:1.05}.page-hero h1{font-size:var(--text-card);color:var(--teal-ink);align-items:center;gap:12px;margin-top:20px;display:inline-flex}.page-hero h1:before{content:"";background:var(--teal);width:22px;height:2px}.ph-copy{font-family:var(--f-head);font-weight:var(--weight-heading);font-size:var(--text-display);font-feature-settings:"palt";text-wrap:balance;margin-top:28px;line-height:1.45}.ph-copy--intro{font-size:var(--text-page-intro)}.page-hero .lead{margin-top:18px}.page-hero .ib{max-width:100%}.ph-visual,.ph-photo{aspect-ratio:4/3;background:var(--mist);border-radius:10px;justify-self:end;width:100%;max-width:400px;overflow:hidden}.ph-visual{padding:6%}.ph-photo img{object-fit:cover;width:100%;height:100%}.ph-photo[data-anim]{padding:3%}@media (max-width:860px){.ph-grid,.ph-solo{min-block-size:0}.ph-grid{grid-template-columns:1fr;gap:32px}.ph-visual,.ph-photo{justify-self:start}}.page-hero-compact{background:var(--bg);min-block-size:320px;padding:24px 0 32px}.page-hero-compact .wrap{max-width:900px}.page-hero-compact .crumbs{margin-bottom:24px}.page-hero-compact .ph-solo{min-block-size:0}.page-hero-compact .ph-copy--intro{color:var(--muted);font-size:var(--text-lead);font-weight:var(--weight-body);line-height:var(--leading-body);margin-top:20px}.page-hero-compact+.sec{padding-top:32px}@media (max-width:600px){.page-hero-compact{min-block-size:384px}}.company-about-copy{max-width:52em;font-size:var(--text-body);overflow-wrap:anywhere;margin-inline:auto;line-height:2}.company-about-copy p+p{margin-top:24px}.loc{grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:32px;display:grid}.loc figure{margin:0}.loc img{background:#fff;border:0;border-radius:10px;width:100%;height:auto}.loc iframe{border:1px solid var(--line);background:var(--mist);border-radius:10px;width:100%;height:clamp(320px,34vw,440px);display:block}.loc figcaption{font-size:var(--text-small);color:var(--muted);margin-top:8px}.loc-title{font-size:var(--text-card);color:var(--deep);margin-bottom:12px}.loc-addr{font-style:normal;font-weight:700;font-size:var(--text-lead);margin-bottom:18px;line-height:1.8}.ext{font-weight:400;font-size:var(--text-small);margin-left:4px}@media (max-width:760px){.loc{grid-template-columns:1fr}}.philosophy-hero{background:#edf2f1}.philosophy-hero__background{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.philosophy-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#0000,#ffffff9e 20%,#ffffff7a 42%,#0000 72%);position:absolute;inset:0}.philosophy-hero__content{max-width:900px;min-block-size:clamp(300px,21.6vw,400px)}@media (max-width:860px){.philosophy-hero__content{min-block-size:280px}.philosophy-hero__background{object-position:40% center}.philosophy-hero:before{background:linear-gradient(#ffffffb3,#ffffff94 65%,#ffffff1a)}}.pr-rows{--pr-gap:clamp(40px, 5vw, 56px);gap:var(--pr-gap);max-width:1000px;display:grid}.pr-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(28px,5vw,72px);display:grid;position:relative}.pr-row>*{min-width:0}.pr-row:nth-child(2n) .pr-vis{order:2}.pr-vis{aspect-ratio:3/2;background:#fff;border:0;border-radius:20px;justify-self:center;width:100%;max-width:440px;overflow:hidden}.pr-vis img{object-fit:contain;width:100%;height:100%;display:block}.pr-copy{justify-self:center;width:100%;max-width:440px;padding-block:12px}.pr-rows .pr-row .no{color:var(--teal-ink);font-family:var(--f-en);letter-spacing:.02em;align-items:center;gap:12px;margin:0;font-weight:700;line-height:1;display:flex}.pr-number{font-variant-numeric:tabular-nums;background:#edf7f8;border:1px solid #d9ecee;border-radius:12px;flex:none;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.5rem;display:inline-flex}.pr-divider{background:#88c6ce;flex:none;width:18px;height:1px;font-size:0}.pr-name{letter-spacing:.12em;font-size:.75rem}.pr-rows .pr-row h2{color:var(--deep);font-size:var(--text-section);font-weight:var(--weight-heading);letter-spacing:.025em;margin-top:18px;line-height:1.45}.pr-rows .pr-row .sub{color:var(--deep);font-family:var(--f-head);font-size:var(--text-lead);text-wrap:pretty;margin-top:16px;font-weight:700;line-height:1.7}.pr-rows .pr-row .body{max-width:27em;color:var(--muted);font-size:var(--text-body);line-height:var(--leading-body);text-wrap:pretty;margin-top:8px}.pr-connector{width:20%;height:var(--pr-gap);color:#91cbd2;pointer-events:none;position:absolute;top:100%;left:40%;overflow:visible}.pr-row:nth-child(2n) .pr-connector{transform:scaleX(-1)}@media (max-width:760px){.pr-row{grid-template-columns:1fr;gap:20px}.pr-row:nth-child(2n) .pr-vis{order:0}.pr-connector{width:60px;left:calc(50% - 30px)}}@media (max-width:600px){.pr-rows{--pr-gap:36px}.pr-row{gap:16px}.pr-vis{border-radius:14px}.pr-copy{padding-block:4px}.pr-rows .pr-row .no{gap:7px}.pr-number{border-radius:9px;width:32px;height:32px;font-size:1.125rem}.pr-divider{width:10px}.pr-name{letter-spacing:.04em;font-size:.6875rem}.pr-rows .pr-row h2{font-size:var(--text-section);margin-top:12px}.pr-rows .pr-row .sub{font-size:var(--text-lead);margin-top:10px}.pr-rows .pr-row .body{font-size:var(--text-body);margin-top:8px}}.services-hero{background:#e4f2f8}.services-hero__background{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.services-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#ffffff1f,#ffffff3d 42%,#0000 72%);position:absolute;inset:0}.services-hero__content{max-width:660px;min-block-size:clamp(300px,21.6vw,400px)}.services-hero__line{display:block}@media (max-width:860px){.services-hero__content{min-block-size:280px}.services-hero__line{display:inline}.services-hero:before{background:linear-gradient(90deg,#ffffffc2,#fff9 58%,#ffffff3d)}.services-hero__background{object-position:42% center}}.toc{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.toc a{border:1px solid var(--line);font-size:var(--text-label);background:#fff;border-radius:999px;align-items:center;gap:10px;padding:10px 18px;font-weight:700;text-decoration:none;transition:border-color .2s,background-color .2s;display:inline-flex}.toc a:hover{border-color:var(--teal);background:var(--mist)}.toc .n{font-family:var(--f-en);font-size:var(--text-small);color:var(--teal-ink)}.svc-rows{gap:clamp(24px,3vw,32px);display:grid}.svc-row{border:1px solid var(--line);background:#fff;border-radius:28px;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(28px,5vw,72px);padding:clamp(24px,4vw,48px);display:grid}.svc-vis{aspect-ratio:4/3;background:var(--mist);border-radius:10px;justify-self:center;width:100%;max-width:440px;padding:8%}.svc-vis--image{aspect-ratio:3/2;background:#fff;padding:0;overflow:hidden}.svc-vis--image img{object-fit:contain;width:100%;height:100%;display:block}.svc-row .en{font-size:var(--text-small);color:var(--teal-ink);margin-top:10px}.svc-row h2{font-size:var(--text-section);font-weight:var(--weight-heading);margin-top:8px}.svc-row .sub{font-family:var(--f-head);font-weight:700;font-size:var(--text-card);margin-top:18px;line-height:1.6}.svc-row .body{color:var(--muted);margin-top:10px}@media (max-width:760px){.svc-row{grid-template-columns:1fr}.svc-vis{max-width:none}}.no{font-family:var(--f-en);font-weight:600;font-size:var(--text-small);letter-spacing:.16em;color:var(--teal-ink)}.dot{z-index:1;border:2px solid var(--line);width:44px;height:44px;font-family:var(--f-en);font-weight:700;font-size:var(--text-label);color:var(--muted);background:#fff;border-radius:50%;place-items:center;transition:background-color .4s,border-color .4s,color .4s;display:grid;position:relative}.is-reached>.dot{background:var(--teal-ink);border-color:var(--teal-ink);color:#fff}.approach-hero{background:#e8f0f2}.approach-hero__background{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.approach-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#ffffff1f,#ffffff9e 32%,#ffffff59 52%,#0000 76%);position:absolute;inset:0}.approach-hero__content{max-width:800px;min-block-size:clamp(300px,21.6vw,400px)}.approach-hero .approach-hero__content .lead{max-width:620px}@media (max-width:860px){.approach-hero__content{min-block-size:280px}.approach-hero__background{object-position:42% center}.approach-hero:before{background:linear-gradient(90deg,#ffffffe6,#ffffffc7 58%,#ffffff80)}}.flow-nav{padding:28px 0}.flow-strip{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.flow-strip a{height:100%;padding:16px 24px;text-decoration:none;transition:color .2s;display:block}.flow-strip a:hover,.flow-strip a:focus-visible{color:var(--teal-ink)}.flow-strip a:hover b,.flow-strip a:focus-visible b{text-underline-offset:5px;text-decoration:underline}.flow-strip .en{font-size:var(--text-small);color:var(--teal-ink);display:block}.flow-strip b{font-family:var(--f-head);font-size:var(--text-card)}@media (max-width:860px){.flow-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-strip a{padding:16px 12px}}.timeline{--tl-pad:104px;--tl-x:32px;--dot:56px;padding:0 0 0 var(--tl-pad);gap:clamp(56px,8vw,104px);margin:0;list-style:none;display:grid;position:relative}.timeline:before,.timeline:after{content:"";left:calc(var(--tl-x) - 1px);background:var(--line);width:2px;position:absolute;top:28px;bottom:28px}.timeline:after{background:var(--teal);transform:scaleY(var(--p,0));transform-origin:top}.tl-step{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:clamp(28px,5vw,64px);display:grid;position:relative}.tl-step .dot{left:calc(var(--tl-x) - var(--tl-pad) - var(--dot) / 2);width:var(--dot);height:var(--dot);font-size:var(--text-body);position:absolute;top:0}.tl-step h2{font-size:var(--text-section);font-weight:var(--weight-heading);padding-top:max(0px, calc((var(--dot) - 1.45em) / 2));margin-top:0}.tl-step h2 .ib{max-width:100%}.tl-step .body{color:var(--ink);font-size:var(--text-body);margin-top:14px}.tl-sub{background:var(--bg-alt);border-radius:12px;margin-top:20px;padding:16px 20px}.tl-sub b{font-family:var(--f-head);font-size:var(--text-label);color:var(--teal-ink);display:block}.tl-sub p{color:var(--ink);font-size:var(--text-body);margin-top:6px}.tl-vis{aspect-ratio:3/2;background:#fff;border:0;border-radius:16px;width:100%;overflow:hidden}.tl-vis>img{object-fit:contain;width:100%;height:100%}@media (max-width:860px){.timeline{--tl-pad:60px;--tl-x:20px;--dot:40px}.tl-step{grid-template-columns:1fr}.tl-step .dot{font-size:var(--text-small)}.tl-vis{max-width:360px}}.case{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:clamp(28px,5vw,64px);display:grid}.case+.case{margin-top:clamp(56px,8vw,104px)}.case:nth-child(2n) .case-vis{order:2}.case-vis{aspect-ratio:16/9;background:var(--mist);border:0;border-radius:10px;overflow:hidden}.case time{font-family:var(--f-en);font-weight:600;font-size:var(--text-label);letter-spacing:.1em;color:var(--teal-ink)}.case h2{font-size:var(--text-section);font-weight:var(--weight-heading);margin-top:12px}@media (max-width:860px){.case{grid-template-columns:1fr}.case:nth-child(2n) .case-vis{order:0}}.company-hero{background:#eaf3f8}.company-hero__background{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.company-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#ffffff1f,#ffffffa6 25%,#ffffff7a 42%,#0000 72%);position:absolute;inset:0}.company-hero__content{max-width:700px;min-block-size:clamp(300px,21.6vw,400px)}.company-hero .company-hero__content .lead{max-width:620px}@media (max-width:860px){.company-hero__content{min-block-size:280px}.company-hero__background{object-position:58% center}.company-hero:before{background:linear-gradient(90deg,#ffffffe6,#ffffffc7 58%,#ffffff7a)}}.dl{border-top:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);margin:0;display:grid}.dl+.link-more{margin-top:24px}.dl dt,.dl dd{border-bottom:1px solid var(--line);margin:0;padding:24px 0}.dl dt{font-family:var(--f-head);color:var(--deep);font-weight:700}.dl ul{margin:0;padding-left:1.2em}.dl a{color:var(--teal-ink);font-family:var(--f-en);font-weight:600}@media (max-width:640px){.dl{grid-template-columns:1fr}.dl dt{border-bottom:0;padding-bottom:4px}.dl dd{padding-top:0}}.form-wrap{max-width:800px}.form-card{border:1px solid var(--line);background:#fff;border-radius:12px;padding:clamp(24px,4.5vw,48px)}.form-intro{color:var(--muted);font-size:var(--text-label);margin:12px 0 32px}.form-card .field label{font-size:var(--text-body)}.req{background:var(--mist);color:var(--teal-ink);font-size:var(--text-small);vertical-align:1px;border-radius:4px;margin-left:8px;padding:1px 8px;font-weight:700;display:inline-block}.form-card .form-privacy{margin-top:24px}.form-actions.contact-submit{justify-content:center}.contact-submit .btn{width:240px;max-width:100%}.contact-form-mail{font-size:var(--text-label);text-align:center;margin-top:24px}.contact-form-mail a{color:var(--teal-ink);overflow-wrap:anywhere}.form-card .to{font-family:var(--f-head);color:var(--muted);font-weight:700;font-size:var(--text-label);border-bottom:1px dashed var(--line);margin-bottom:28px;padding-bottom:18px}.form-section+.form-section{border-top:1px solid var(--line);margin-top:36px;padding-top:32px}.step-no{font-family:var(--f-en);font-weight:600;font-size:var(--text-small);letter-spacing:.16em;color:var(--teal-ink);margin-bottom:10px}fieldset{border:0;min-width:0;margin:0;padding:0}legend,.form-h{font-family:var(--f-head);font-weight:var(--weight-heading);font-size:var(--text-section);padding:0;line-height:1.45}.hint{font-size:var(--text-label);color:var(--muted);margin-top:6px}.hint a{color:var(--teal-ink)}.topics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px;display:grid}.topic{position:relative}.topic.wide{grid-column:1/-1}.topic input{opacity:0;width:1px;height:1px;position:absolute}.topic span{border:1.5px solid var(--line);min-height:56px;font-weight:700;font-size:var(--text-body);cursor:pointer;border-radius:14px;align-items:center;gap:12px;padding:12px 16px;line-height:1.5;transition:border-color .2s,background-color .2s;display:flex}.topic span:before{content:"";border:2px solid var(--grey);background:#fff;border-radius:50%;flex:none;width:20px;height:20px;transition:border-color .2s,box-shadow .2s}.topic span:hover{border-color:var(--teal)}.topic input:checked+span{border-color:var(--teal-ink);background:var(--mist);color:var(--deep)}.topic input:checked+span:before{border-color:var(--teal-ink);background:var(--teal-ink);box-shadow:inset 0 0 0 4px #fff}.topic input:focus-visible+span{outline:3px solid var(--teal);outline-offset:2px}.field{gap:8px;margin-top:24px;display:grid}.field label,.more summary{font-weight:700;font-size:var(--text-label)}.opt{background:var(--bg-alt);color:var(--muted);font-size:var(--text-small);vertical-align:1px;border-radius:999px;margin-left:8px;padding:1px 8px;font-weight:700;display:inline-block}.field input,.field textarea,.field select{width:100%;font:inherit;font-size:var(--text-body);color:var(--ink);border:1.5px solid var(--line);background:#fff;border-radius:12px;padding:14px 16px;line-height:1.6;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:168px}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--teal-ink);outline:none;box-shadow:0 0 0 4px #039fad29}.field-foot{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.field-foot .hint{margin:0}.count{font-family:var(--f-en);font-size:var(--text-small);color:var(--muted);flex:none}.picked{background:var(--mist);font-size:var(--text-label);border-radius:12px;margin-top:18px;padding:12px 16px}.more{border:1px dashed var(--grey);border-radius:14px;margin-top:24px;padding:16px 18px}.more summary{cursor:pointer}.more .field:first-of-type{margin-top:12px}.consent{font-size:var(--text-label);cursor:pointer;align-items:flex-start;gap:12px;margin-top:16px;font-weight:700;display:flex}.consent input{width:22px;height:22px;accent-color:var(--teal-ink);flex:none;margin:2px 0 0}.form-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:32px;display:flex}.form-actions.end{justify-content:flex-end}.back{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 0;font-weight:700}.back:hover{color:var(--ink)}.status{color:var(--error);font-weight:700;font-size:var(--text-label);margin-top:16px}.status:empty{display:none}.done{text-align:center}.done-ill{aspect-ratio:160/120;width:180px;margin:0 auto 20px}.done p{color:var(--muted);margin-top:12px}.done .btn{margin-top:28px}.side{gap:16px;display:grid}.side-card{background:var(--mist);border-radius:22px;padding:28px}.side-card p:not(.label){font-size:var(--text-body);margin-top:14px}.side-card .mail{font-family:var(--f-en);font-weight:600;font-size:var(--text-lead);color:var(--teal-ink);margin-top:6px;display:inline-block}.side-faq{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.side-faq a{font-size:var(--text-label);background:#fff;border-radius:12px;padding:12px 14px;font-weight:700;text-decoration:none;display:block}.side-faq a:hover{color:var(--teal-ink)}@media (max-width:960px){.form-wrap{grid-template-columns:1fr}}@media (max-width:520px){.topics{grid-template-columns:1fr}.form-actions .btn{width:100%}.form-actions{flex-direction:column-reverse;align-items:stretch}.form-actions.end{align-items:stretch}}[data-anim] svg{width:100%;height:100%;overflow:visible}[data-anim] svg [stroke]{vector-effect:non-scaling-stroke}.sk-q{fill:none;stroke:var(--deep);stroke-width:7px;stroke-linecap:round}.f-t{fill:var(--teal)}.f-s{fill:var(--teal-soft)}.c-lbl{font:700 12px var(--f-body);fill:var(--deep);letter-spacing:.04em}.c-lbl.w{fill:#fff}.c-lbl.t{fill:var(--teal-ink)}.c-lbl.en{font-family:var(--f-en);text-transform:none;letter-spacing:.06em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.inline-link{color:var(--teal-ink);font-weight:700}.ph-solo .lead{max-width:46em}.ft-addr{font-style:normal;font-size:var(--text-label);color:#3b4a4d;margin-top:12px;line-height:1.8}.ft-addr a{color:var(--teal-ink);font-family:var(--f-en)}.ft-bottom small{font-size:var(--text-small)}.case-card{grid-row:span 7;grid-template-rows:subgrid;align-content:start;row-gap:8px;display:grid}.case-card .body{display:contents}.case-card .case-meta{margin-top:10px}.case-meta{font-size:var(--text-small);color:var(--muted)}.case-card h3{font-size:var(--text-card);margin:0}.case-problem{font-size:var(--text-body);line-height:1.75}.case-arrow{border-left:10px solid #0000;border-right:10px solid #0000;border-top:10px solid var(--teal);width:0;height:0;margin:2px auto}.case-result{font-weight:700;font-size:var(--text-body);color:var(--pink);line-height:1.6}.case-more{font-weight:700;font-size:var(--text-label);color:var(--teal-ink);text-underline-offset:4px;justify-self:start;text-decoration:underline}.case-card:hover h3{text-decoration:none}.list a.row{transition:background-color .2s}.list a.row:hover{background:var(--bg-alt)}.news .row{grid-template-columns:96px 76px minmax(0,1fr) 18px;align-items:center}.news .chev{width:16px;height:16px;color:var(--teal-ink)}.cat{background:var(--mist);color:var(--teal-ink);font-size:var(--text-small);text-align:center;border-radius:999px;padding:2px 8px;font-weight:700;line-height:1.6;display:inline-block}.news-wrap{max-width:900px}.news-wrap .list{margin-top:0}@media (max-width:640px){.news .row{grid-template-columns:auto 1fr 18px;gap:4px 10px}.news .row>span:not(.cat){grid-column:1/3}}.works-hero{background:#edf6fa}.works-hero__background{z-index:-2;object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.works-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#ffffff1a,#0000 62%);position:absolute;inset:0}.works-hero__content{max-width:760px;min-block-size:clamp(300px,21.6vw,400px)}.works-hero .works-hero__content .lead{max-width:620px}@media (max-width:860px){.works-hero__content{min-block-size:280px}.works-hero__background{object-position:60% center}.works-hero:before{background:linear-gradient(90deg,#ffffffe8,#ffffffc7 58%,#ffffff7a)}}.works-jump{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:560px;margin-top:28px;display:grid}.works-jump a{border:1px solid var(--teal-ink);min-height:76px;color:var(--teal-ink);background:#fffffff5;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px 20px;text-decoration:none;transition:background-color .2s,border-color .2s;display:flex}.works-jump a:hover{background:var(--mist);border-color:var(--deep)}.works-jump b{font-size:var(--text-body);line-height:1.5;display:block}.works-jump small{font-size:var(--text-small);color:var(--muted);margin-top:2px;line-height:1.5;display:block}.works-jump svg{flex:none;width:20px;height:20px}.works-toc{margin-bottom:clamp(28px,4vw,40px)}.works-toc .toc{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex-wrap:nowrap;justify-content:safe center;gap:10px;padding:4px 2px 10px;display:flex;overflow-x:auto}.works-toc .toc li{flex:none;min-width:0}.works-toc .toc a{white-space:nowrap;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:12px 16px;display:inline-flex;position:relative}.works-toc .toc a:focus-visible{outline-offset:-3px}.works-toc .toc .n{font-size:var(--text-small);line-height:1.5}.works-toc__label{min-width:0}.works-toc__name{font-size:var(--text-body);line-height:1.3;display:block}.works-toc__purpose{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:860px){.works-toc .toc{flex-wrap:wrap;padding-bottom:4px;overflow:visible}}@media (max-width:600px){.works-jump a{gap:8px;padding:12px}.works-jump svg{width:18px;height:18px}.works-toc .toc{gap:8px}.works-toc .toc a{padding:10px 12px}.works-toc__name{font-size:var(--text-label)}}.product{border-top:2px solid var(--line);gap:clamp(24px,3vw,32px);padding:clamp(40px,5vw,64px) 0;display:grid}.product:first-of-type{border-top:1px solid var(--line);padding-top:clamp(24px,3vw,32px)}.product-overview{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:start;gap:clamp(28px,4vw,56px);display:grid}.product-overview>*,.product-detail>*{min-width:0}@media (min-width:861px){.product-overview>.product-body{padding-top:16px}}.product-vis{margin:0}.product-vis img{background:var(--mist);border:0;border-radius:10px;width:100%;height:auto}.product-vis figcaption{font-size:var(--text-small);color:var(--muted);margin-top:8px}.product-image{background:var(--mist);cursor:zoom-in;border:0;border-radius:10px;display:block;position:relative;overflow:hidden}.product-image img{transform:scale(var(--preview-scale,1));transform-origin:var(--preview-focus,center);border:0;border-radius:0;display:block}.product-image-hint{border:1px solid var(--line);color:var(--teal-ink);font-size:var(--text-small);pointer-events:none;background:#fffffff5;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-weight:700;line-height:1.4;display:inline-flex;position:absolute;bottom:10px;right:10px}.product-image:hover .product-image-hint{border-color:var(--teal-ink)}.product .no{letter-spacing:.08em;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px;font-size:clamp(1.25rem,2vw,1.5rem);font-weight:700;line-height:1.4;display:flex}.product .tag{background:var(--mist);font-family:var(--f-body);font-weight:700;font-size:var(--text-label);letter-spacing:.02em;color:var(--teal-ink);border-radius:999px;padding:6px 14px;line-height:1.5}.product h3{font-size:var(--text-product);margin-top:0;font-weight:700;line-height:1.3}.product-lead{font-weight:700;font-size:var(--text-lead);color:var(--teal-ink);margin-top:6px}.product-summary{font-size:var(--text-body);margin-top:12px;line-height:1.85}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;display:grid}.facts div{background:var(--bg-alt);border-radius:8px;padding:16px 20px}.facts dt{font-size:var(--text-small);color:var(--muted)}.facts dd{font-weight:700;font-size:var(--text-label);margin:2px 0 0;line-height:1.5}.product-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px clamp(28px,4vw,56px);display:grid}.product-detail h4{font-size:var(--text-body);color:var(--pink)}.product-detail p,.product-detail li{font-size:var(--text-body);line-height:1.8}.product-detail p{margin-top:8px}.product-detail ul{margin:8px 0 0;padding-left:1.2em}.source-note{font-size:var(--text-small);color:var(--muted);text-align:right;margin-top:24px}@media (max-width:860px){.product-overview,.product-detail{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.facts{grid-template-columns:minmax(0,1fr);gap:12px}}.image-viewer{width:min(1400px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);color:var(--ink);background:#fff;border:0;border-radius:14px;padding:0;overflow:hidden;box-shadow:0 24px 80px #062f3540}.image-viewer[open]{flex-direction:column;display:flex}.image-viewer::backdrop{background:#041f23c7}.image-viewer-header{border-bottom:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.image-viewer-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-card);font-weight:700;overflow:hidden}.image-viewer-actions{flex:none;align-items:center;gap:8px;display:flex}.image-viewer-control{border:1px solid var(--line);min-height:40px;color:var(--deep);font:inherit;font-size:var(--text-label);cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;padding:0 12px;font-weight:700;display:inline-flex}.image-viewer-control:hover{background:var(--mist);border-color:var(--teal-ink)}.image-viewer-close{width:40px;padding:0}.image-viewer-stage{overscroll-behavior:contain;background:var(--bg-alt);text-align:center;min-height:0;padding:16px;line-height:0;overflow:auto}.image-viewer-image{vertical-align:middle;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 128px);display:inline-block}.image-viewer.is-actual-size .image-viewer-stage{text-align:left}.image-viewer.is-actual-size .image-viewer-image{width:var(--original-width);max-width:none;max-height:none}.web-grid{width:min(1240px, 100vw - var(--gut) * 2);margin-inline:calc(50% - min(620px, 50vw - var(--gut)));grid-template-columns:repeat(24,minmax(0,1fr));gap:24px;display:grid}@media (min-width:1001px){.web-card{grid-column:span 6}.web-card:first-child:last-child{grid-column:7/span 12}.web-card:first-child:nth-last-child(2),.web-card:first-child:nth-last-child(2)~.web-card{grid-column:span 12}.web-card:first-child:nth-last-child(3),.web-card:first-child:nth-last-child(3)~.web-card,.web-card:first-child:nth-last-child(5),.web-card:first-child:nth-last-child(5)~.web-card{grid-column:span 8}.web-card:first-child:nth-last-child(5)~.web-card:nth-child(4){grid-column:5/span 8}.web-card:first-child:nth-last-child(6),.web-card:first-child:nth-last-child(6)~.web-card{grid-column:span 8}.web-card:first-child:nth-last-child(7)~.web-card:nth-child(5){grid-column:4/span 6}.web-card:first-child:nth-last-child(9),.web-card:first-child:nth-last-child(9)~.web-card{grid-column:span 8}.web-card:first-child:nth-last-child(10)~.web-card:nth-child(5),.web-card:first-child:nth-last-child(10)~.web-card:nth-child(8),.web-card:first-child:nth-last-child(11)~.web-card:nth-child(9),.web-card:first-child:nth-last-child(13)~.web-card:nth-child(5),.web-card:first-child:nth-last-child(13)~.web-card:nth-child(8),.web-card:first-child:nth-last-child(13)~.web-card:nth-child(11),.web-card:first-child:nth-last-child(14)~.web-card:nth-child(9),.web-card:first-child:nth-last-child(14)~.web-card:nth-child(12),.web-card:first-child:nth-last-child(15)~.web-card:nth-child(13),.web-card:first-child:nth-last-child(17)~.web-card:nth-child(9),.web-card:first-child:nth-last-child(17)~.web-card:nth-child(12),.web-card:first-child:nth-last-child(17)~.web-card:nth-child(15),.web-card:first-child:nth-last-child(18)~.web-card:nth-child(13),.web-card:first-child:nth-last-child(18)~.web-card:nth-child(16),.web-card:first-child:nth-last-child(19)~.web-card:nth-child(17){grid-column:4/span 6}}@media (max-width:1000px){.web-card{grid-column:span 12}.web-card:nth-child(odd):last-child{grid-column:7/span 12}}@media (max-width:600px){.web-card,.web-card:nth-child(odd):last-child{grid-column:span 24}}.web-card{flex-direction:column;text-decoration:none;display:flex}.web-card .vis{aspect-ratio:3/2;background:#fff;border:0;border-radius:10px;overflow:hidden}.web-card .vis img{object-fit:cover;object-position:top;width:100%;height:100%}.web-card .body{padding:14px 2px 0}.web-card h3{font-size:var(--text-card);margin-top:4px}.web-card p:not(.no){font-size:var(--text-body);color:var(--muted)}.ext-link{font-weight:700;font-size:var(--text-small);color:var(--teal-ink);text-underline-offset:4px;margin-top:8px;text-decoration:underline;display:inline-block}.svc-row .link-more{margin-top:18px}.faq-wrap{max-width:900px}.faq-toc{justify-content:center;margin-bottom:clamp(32px,4vw,48px)}.faq-toc .n{margin-left:2px}.faq-group+.faq-group{margin-top:clamp(40px,5vw,56px)}.faq-group>h2{border-bottom:3px solid var(--teal);font-size:var(--text-section);padding-bottom:12px}.qa{border-bottom:1px solid var(--line)}.qa summary{cursor:pointer;font-weight:700;font-size:var(--text-body);grid-template-columns:32px minmax(0,1fr) 24px;align-items:center;gap:14px;padding:18px 4px;line-height:1.6;list-style:none;display:grid}.qa summary::-webkit-details-marker{display:none}.qa summary>span:not(.q-mark),.case-problem,.product-detail li{text-wrap:pretty}.qa summary:after{content:"+";font:400 26px/1 var(--f-en);color:var(--teal-ink);text-align:center}.qa[open] summary:after{content:"−"}.qa summary:hover{background:var(--bg-alt)}.qa .ans{grid-template-columns:32px minmax(0,1fr);gap:14px;padding:4px 4px 24px;display:grid}.a-mark{border:2px solid var(--teal-ink);width:32px;height:32px;font:700 14px var(--f-en);color:var(--teal-ink);border-radius:50%;place-items:center;display:grid}.qa .ans p{font-size:var(--text-body);line-height:1.85}.qa .ans .link-more{margin-top:10px}.faq-end{text-align:center;justify-items:center;gap:20px;margin-top:clamp(40px,5vw,56px);display:grid}.policy{max-width:880px}.policy-date{font-size:var(--text-label);color:var(--muted)}.policy>section{margin-top:clamp(24px,3vw,32px)}.policy h2{border-bottom:2px solid var(--line);font-size:var(--text-section);align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.policy h3{font-size:var(--text-card);margin-top:22px}.policy p,.policy li{font-size:var(--text-body);line-height:1.9}.policy h2+p,.policy h2+ul,.policy h3+p{margin-top:14px}.policy p+p,.policy ul+p,.policy .refs+p{margin-top:12px}.policy ul{margin:14px 0 0;padding-left:1.2em}.policy a{color:var(--teal-ink)}.policy .refs{font-size:var(--text-body);font-weight:var(--weight-body);flex-wrap:wrap;gap:6px 20px;margin-top:8px;display:flex}.policy .dl{border-top:0;margin-top:16px}.policy-contact{background:var(--bg-alt);border-radius:10px;padding:16px 20px;font-weight:700}.err-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.hero h1,.ph-copy{font-weight:var(--weight-heading);line-height:var(--leading-heading)}.h-sec,.statement .q,.cta-band h2,.pr-row h2,.svc-row h2,.case h2,.faq-group>h2,.policy h2,legend,.form-h{font-size:var(--text-section);font-weight:var(--weight-heading);line-height:var(--leading-heading)}.issue-card h3,.change h3,.case-card h3,.tab-panel h3,.web-card h3,.policy h3,.checks b,.flow-strip b{font-size:var(--text-card);font-weight:var(--weight-heading);line-height:var(--leading-heading)}.ic-sol h4,.product-detail h4{font-size:var(--text-body);font-weight:var(--weight-heading);line-height:var(--leading-heading)}.lead,.hero .lead,.sec-head .lead,.contact-band p,.pr-row .sub,.svc-row .sub,.product-lead,.tab-panel .sub,.lines{font-size:var(--text-lead);font-weight:var(--weight-lead);line-height:var(--leading-body)}.ic-body p,.ic-sol ul,.sol p,.change p,.checks li>div>span,.pr-row .body,.svc-row .body,.tl-step .body,.tl-sub p,.tab-panel .d,.case-problem,.case-result,.product-summary,.product-detail p,.product-detail li,.web-card p:not(.no),.qa .ans p,.policy p,.policy li,.side-card p:not(.label){font-size:var(--text-body);font-weight:var(--weight-body);line-height:var(--leading-body)}.btn,.hd-cta,.tab,.link-more{font-size:var(--text-body);line-height:1.3}.sol p,.case-result,.change p,.svc-row .body,.tl-step .body,.product-summary,.qa summary>span:not(.q-mark){text-wrap:balance}.lead .ib{display:inline}.page-hero-compact .ph-copy--intro{text-wrap:pretty}.svc-row>div,.tab-panel>div,.tl-step>div{min-width:0}.flow-strip b{text-wrap:pretty;display:block}.page-hero .lead{text-wrap:balance}.contact-form-title{font-size:var(--text-section)}.page-hero .ph-solo[class*=-hero__content]{min-block-size:400px}@media (max-width:360px){.page-hero .ph-solo[class*=-hero__content]{min-block-size:440px}.flow-strip{grid-template-columns:1fr}}.service-actions{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px;display:flex}.tab-panel .service-actions .link-more,.svc-row .service-actions .link-more{margin-top:0}.service-actions .btn{min-height:48px;padding:12px 22px}.service-context{background:var(--mist);color:var(--teal-ink);font-size:var(--text-label);font-weight:var(--weight-heading);border-radius:6px;margin-bottom:12px;padding:4px 10px;line-height:1.5;display:inline-flex}.services-overview{text-align:center;margin-top:24px}.consultation-context{border-left:3px solid var(--teal);background:var(--mist);color:var(--deep);font-size:var(--text-label);border-radius:0 8px 8px 0;margin-bottom:24px;padding:14px 16px;line-height:1.8}@media (max-width:520px){.service-actions{flex-direction:column;align-items:stretch;gap:16px}.service-actions .btn{width:100%}.service-actions .link-more{align-self:flex-start}}.contact-page .contact-main{padding:0 0 72px}.contact-page .contact-content{padding-top:32px}.contact-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:clamp(32px,4vw,48px);max-width:800px;display:grid}.contact-layout>*{min-width:0}.contact-intro-description{color:var(--muted);font-size:var(--text-body);line-height:var(--leading-body);margin-top:16px}.contact-intro .ib{max-width:100%}.contact-topics{gap:12px;margin:0;padding:0;list-style:none;display:grid}.contact-topics li{font-size:var(--text-body);font-weight:var(--weight-heading);color:var(--deep);padding-left:26px;position:relative}.contact-topics li:before{content:"";border:solid var(--teal-ink);border-width:0 0 2px 2px;width:10px;height:6px;position:absolute;top:.65em;left:3px;transform:rotate(-45deg)}.contact-method{border-top:1px solid var(--line);margin-top:36px;padding-top:28px}.contact-page .contact-method .contact-form-mail{text-align:left;color:var(--muted);margin:0}.contact-method .contact-form-mail a{font-family:var(--f-en);font-size:var(--text-card);font-weight:var(--weight-heading);text-underline-offset:5px;margin-top:8px;display:block}.contact-page .contact-layout .form-card{background:#f1f6f7;border:0;border-radius:12px;padding:32px}.contact-page .contact-form-title{text-align:center}.contact-page .form-intro{text-align:center;margin:8px 0 24px}.contact-page .field{margin-top:20px}.contact-page [data-form-fields]>.field:first-child{margin-top:0}.contact-page .field input,.contact-page .field textarea{border-radius:6px;padding:12px 14px}.contact-page .field textarea{min-height:120px}.contact-page .form-card .form-privacy{margin-top:20px}.contact-page .contact-submit{margin-top:24px}.contact-page .contact-submit .btn{width:100%;max-width:280px;min-height:52px}@media (max-width:800px){.contact-page .contact-main{padding-bottom:48px}}@media (max-width:520px){.contact-page .contact-layout .form-card{padding:24px 20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.timeline:after{transform:none}}:root{--band:#0b0c11;--paper-2:#f4f4f2}h1,h2,h3,h4{letter-spacing:.01em}.label{color:var(--ink);letter-spacing:.26em;font-weight:700}.label:before{background:var(--ink);width:18px;height:1px}.label-light:before{background:#fff}.en,.no,.ft-tag,.sol-number,.step-no,.flow-strip .en,.svc-row .en,.tab-panel .en{color:var(--ink)}.btn{border:1.5px solid var(--ink);min-height:50px;padding:0 26px;font-weight:700}.btn-primary{background:var(--ink);border-color:var(--ink);color:#fff}.btn-primary:hover{background:#2a2c33;border-color:#2a2c33}.btn-ghost{border-color:var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--paper-2)}.btn-white{color:var(--ink);background:#fff;border-color:#fff}.btn-white:hover{background:#e9e9e4;border-color:#e9e9e4}.link-more{color:var(--ink);text-underline-offset:6px;border-bottom:0;padding-bottom:0;text-decoration:underline;text-decoration-thickness:1px}.link-more:hover{color:var(--teal-ink);border-bottom:0}.link-more--light{color:#fff}.link-more--light:hover{color:#fff;opacity:.8}.inline-link,.policy a,.hint a,.dl a,.ft-mail a,.cb-mail a,.contact-form-mail a,.ft-addr a{color:inherit;text-underline-offset:4px}:focus-visible{outline-color:var(--ink);border-radius:0}.site-header{border-bottom:1px solid var(--ink)}.gnav a{font-size:var(--text-label);letter-spacing:.12em;font-weight:700}.gnav a:after{background:var(--ink);height:1px;bottom:4px}.gnav a[aria-current=page]{color:var(--ink)}.hd-cta.btn-primary{min-height:40px;color:var(--ink);font-size:var(--text-label);letter-spacing:.08em;background:0 0;padding:0 18px}.hd-cta.btn-primary:hover{background:var(--ink);color:#fff}.menu-toggle{color:var(--ink)}@media (max-width:1000px){.gnav a{border-bottom-color:var(--line);letter-spacing:.08em}}.sec{padding:clamp(56px,8vw,112px) 0}.sec-head{text-align:left;justify-items:start;margin-bottom:clamp(32px,4vw,48px)}.sec-head>div{justify-items:start}.sec-head .label{margin-bottom:16px;display:inline-flex}.sec-head .h-sec:after{display:none}.sec-head .lead{max-width:40em;color:var(--muted);margin-top:18px;font-weight:400}.sec-head--row{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.sec-head--row>div{justify-items:start;display:grid}.sec-head--row .link-more{flex:none;margin-bottom:8px}.alt{background:var(--paper-2)}.cta-row{text-align:left;margin-top:clamp(28px,4vw,40px)}.h-sec{font-weight:800}.hero.hero--photographic{background:var(--band);color:#fff;align-items:flex-end;height:clamp(540px,86vh,900px);min-height:0}.hero.hero--photographic .hero-background{transform-origin:60% 40%;animation:9s ease-out forwards hero-kb}.hero.hero--photographic:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#0000000f 42%,#000000a3),linear-gradient(100deg,#00000057,#0000 60%);position:absolute;inset:0}.hero.hero--photographic .hero-grid{padding-block:0 clamp(36px,6vh,72px)}.hero.hero--photographic .hero-copy{width:min(100%,860px);display:grid}.hero.hero--photographic .hero-sub{color:#fff;font-size:var(--text-small);letter-spacing:.32em;text-transform:uppercase;text-shadow:none;order:-1;margin:0 0 20px;font-weight:700}.hero.hero--photographic h1{color:#fff;font-size:var(--text-hero);letter-spacing:0;font-weight:900;line-height:1.1}.hero.hero--photographic .lead{color:#fff;max-width:30em;font-size:var(--text-lead);text-shadow:none;opacity:.94;margin-top:24px;font-weight:500;line-height:1.9}.hero.hero--photographic .hero-cta{gap:16px 24px;margin-top:28px}.hero.hero--photographic .hero-cta .btn{color:var(--ink);background:#fff;border-color:#fff}.hero.hero--photographic .hero-cta .btn:hover{background:#e9e9e4;border-color:#e9e9e4}@keyframes hero-kb{0%{transform:scale(1.06)}to{transform:scale(1)}}@media (max-width:700px){.hero.hero--photographic{height:clamp(520px,78vh,720px)}.hero.hero--photographic .hero-background{object-position:55% center}.hero.hero--photographic .hero-grid{padding-block:0 36px}}.issue--compact .issue-card{border-bottom:1px solid var(--ink)}.issue--compact .issue-card:first-child{border-top:1px solid var(--ink)}.issue--compact .ic-tag{font-size:var(--text-small);letter-spacing:.12em;color:var(--muted);font-weight:700}.issue--compact .issue-card h3{font-weight:700;font-size:var(--text-card)}.issue--compact .h-sec{font-size:clamp(2rem,3.6vw,3rem);line-height:1.35}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:clamp(8px,2vw,24px);padding:0 6px;display:grid}.tile{aspect-ratio:4/3;background:var(--band);color:#fff;text-decoration:none;display:block;position:relative;overflow:hidden}.tile img{object-fit:cover;width:100%;height:100%;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.tile:hover img,.tile:focus-visible img{transform:scale(1.04)}.tile:after{content:"";background:linear-gradient(#0000 50%,#0000009e);position:absolute;inset:0}.tile:focus-visible{outline-offset:-4px;outline-color:#fff}.tile-cap{z-index:1;padding:22px 24px 24px;position:absolute;bottom:0;left:0;right:0}.tile-cap h3{color:#fff;letter-spacing:.02em;font-size:clamp(1.25rem,2vw,1.75rem);font-weight:800}.tile-cap span{font-size:var(--text-label);letter-spacing:.04em;margin-top:6px;font-weight:700;display:inline-block}@media (max-width:760px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.tile{aspect-ratio:1}.tile-cap{padding:16px 18px 18px}}@media (max-width:480px){.tiles{grid-template-columns:1fr}.tile{aspect-ratio:3/2}}.band-photo{background:var(--band);color:#fff;align-items:flex-end;min-height:clamp(360px,54vh,580px);display:flex;position:relative;overflow:hidden}.band-photo__bg{object-fit:cover;object-position:center 40%;width:100%;height:100%;position:absolute;inset:0}.band-photo:before{content:"";background:linear-gradient(#0000000a 38%,#000000a3);position:absolute;inset:0}.band-photo__copy{padding-block:clamp(36px,6vh,64px);position:relative}.band-photo .h-sec{color:#fff;margin-top:16px}.band-photo .link-more{margin-top:22px}.steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:0 32px;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--ink);min-width:0;padding-top:18px}.steps-no{font-family:var(--f-en);letter-spacing:-.02em;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:800;line-height:1;display:block}.steps h3{font-size:var(--text-card);margin-top:18px;font-weight:800}.steps p{color:var(--muted);font-size:var(--text-label);margin-top:10px;line-height:1.85}@media (max-width:860px){.steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px}}@media (max-width:480px){.steps{grid-template-columns:1fr}}.philosophy-summary{margin-top:18px}.sol-list{gap:0 32px}.sol{border:0;border-top:1px solid var(--ink);box-shadow:none;background:0 0;border-radius:0;padding:22px 0 0}.sol h3{font-weight:800}@media (max-width:860px){.sol-list{gap:28px;max-width:none}.sol{padding:18px 0 0}}.info{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(40px,6vw,80px)}.info .label{margin-bottom:14px}.list{border-top:1px solid var(--ink);margin-top:24px}.list li{border-bottom:1px solid var(--line)}.row{padding:18px 0}.row time{color:var(--muted);font-weight:700}.cat{color:var(--muted);text-align:left;background:0 0;border-radius:0;padding:0;font-weight:700}.q-mark,.a-mark{width:auto;height:auto;color:var(--ink);font:800 1.125rem/1.4 var(--f-en);background:0 0;border:0;border-radius:0}.faq .row{grid-template-columns:28px minmax(0,1fr) 20px}.faq .chev,.news .chev{color:var(--ink)}.list a.row:hover{text-underline-offset:5px;background:0 0;text-decoration:underline}@media (max-width:860px){.info{grid-template-columns:minmax(0,1fr)}}.contact-band{background:var(--band);color:#fff;padding:clamp(72px,10vw,140px) 0}.cb-grid{text-align:left;grid-template-columns:minmax(0,1fr) auto;place-items:end start;gap:40px 64px}.contact-band .label{color:#fff}.contact-band .label:before{background:#fff}.contact-band h2{color:#fff;font-size:clamp(2rem,5vw,4rem);line-height:1.2}.contact-band p,.contact-band .cb-copy{color:#ffffffd1;text-wrap:pretty;margin-inline:0}.cb-actions{justify-items:start;gap:16px;max-width:none}.cb-actions .btn{width:auto;min-height:56px;color:var(--ink);font-size:var(--text-body);background:#fff;border-color:#fff;padding:0 32px}.cb-actions .btn:hover{background:#e9e9e4;border-color:#e9e9e4}.contact-band .cb-mail{text-align:left;color:#ffffffd1}.cb-mail a{color:#fff}@media (max-width:860px){.cb-grid{grid-template-columns:minmax(0,1fr)}}.site-footer{border-top:1px solid var(--ink);color:var(--ink);padding-top:56px}.ft{gap:20px}.ft-tag{letter-spacing:.3em}.ft-addr{color:var(--muted)}.ft nav ul{gap:6px 0}.ft nav li+li:before{content:"・";color:var(--muted);margin:0 10px}.ft-bottom{border-top:1px solid var(--line);box-shadow:none;clip-path:none;color:var(--muted);background:0 0;margin-top:32px;padding:18px 0 28px}.page-hero{border-bottom:0;padding:0}.page-hero:not(.page-hero-compact){background:var(--band);color:#fff;display:block}.page-hero:not(.page-hero-compact)>.wrap{z-index:2;flex-direction:column;justify-content:space-between;min-height:clamp(380px,54vh,600px);padding-top:18px;padding-bottom:clamp(32px,5vh,56px);display:flex;position:relative}.page-hero:not(.page-hero-compact) .crumbs{color:#ffffffc7;margin-bottom:24px}.page-hero:not(.page-hero-compact) .crumbs li+li:before{color:#ffffff80}.page-hero:not(.page-hero-compact) .ph-en,.page-hero:not(.page-hero-compact) h1,.page-hero:not(.page-hero-compact) .ph-copy{color:#fff}.page-hero:not(.page-hero-compact) h1:before{background:#fff}.page-hero:not(.page-hero-compact) .lead{color:#ffffffdb}.services-hero__background,.approach-hero__background,.philosophy-hero__background,.company-hero__background{z-index:0;transform-origin:60% 40%;animation:9s ease-out forwards hero-kb}.services-hero:before,.approach-hero:before,.philosophy-hero:before,.company-hero:before{z-index:1;background:linear-gradient(#00000014 40%,#000000a8),linear-gradient(100deg,#00000057,#0000 60%)}.page-hero .ph-solo,.page-hero .ph-solo[class*=-hero__content],.ph-grid{min-block-size:0}.ph-en{font-size:var(--text-page-en);letter-spacing:0;white-space:normal;overflow-wrap:anywhere;font-weight:800;line-height:.95}.page-hero h1{font-size:var(--text-label);letter-spacing:.22em;margin-top:18px;font-weight:700}.page-hero h1:before{height:1px}.ph-copy{max-width:30em;margin-top:18px;font-size:clamp(1.25rem,2.2vw,1.75rem);font-weight:700;line-height:1.6}.page-hero .lead{max-width:36em}@media (max-width:860px){.page-hero:not(.page-hero-compact)>.wrap{min-height:clamp(340px,48vh,480px)}}.page-hero.page-hero-compact{min-block-size:0;color:var(--ink);border-bottom:1px solid var(--ink);background:#fff;padding:18px 0 40px}.page-hero.page-hero-compact .wrap{max-width:var(--max)}.page-hero.page-hero-compact .crumbs{margin-bottom:40px}.page-hero.page-hero-compact .ph-copy--intro{max-width:36em;color:var(--muted);font-size:var(--text-lead);font-weight:400;line-height:var(--leading-body);margin-top:18px}.page-hero.page-hero-compact+.sec{padding-top:clamp(40px,5vw,64px)}.contact-intro-description{max-width:36em}.sec.alt:has(>.wrap>.svc-rows){background:#fff;padding-top:0}.svc-rows{gap:0}.svc-row{border:0;border-top:1px solid var(--ink);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(40px,6vw,72px) 0}.svc-row:last-child{border-bottom:1px solid var(--ink)}.svc-row:nth-child(2n) .svc-vis{order:2}.svc-vis{border-radius:0;max-width:none}.svc-vis--image img{object-fit:cover}.svc-row .no{letter-spacing:-.02em;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1}.svc-row .en{letter-spacing:.2em;margin-top:16px}.svc-row h2{margin-top:10px;font-size:clamp(1.75rem,3vw,2.5rem)}.svc-row .sub{margin-top:16px}@media (max-width:760px){.svc-row:nth-child(2n) .svc-vis{order:0}}.flow-nav.alt{border-bottom:1px solid var(--ink);background:#fff;padding:0}.flow-strip a{padding:22px 20px 22px 0}.flow-strip li+li a{border-left:1px solid var(--line);padding-left:20px}.flow-strip .en{letter-spacing:.2em}.flow-strip b{margin-top:6px;font-weight:800}.timeline{gap:0;padding-left:0}.timeline:before,.timeline:after{display:none}.tl-step{border-top:1px solid var(--ink);grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:clamp(40px,6vw,72px) 0}.tl-step:last-child{border-bottom:1px solid var(--ink)}.tl-step .dot,.is-reached>.dot{width:auto;height:auto;color:var(--ink);letter-spacing:-.02em;background:0 0;border:0;grid-column:1/-1;margin-bottom:8px;font-size:clamp(2.5rem,5vw,4rem);font-weight:800;line-height:1;display:block;position:static}.tl-step h2{padding-top:0;font-size:clamp(1.75rem,3vw,2.5rem)}.tl-sub{border-top:1px solid var(--line);background:0 0;border-radius:0;padding:16px 0 0}.tl-sub b{color:var(--ink)}.tl-vis{border-radius:0}.tl-vis>img{object-fit:cover}@media (max-width:860px){.timeline{--tl-pad:0}.tl-vis{max-width:none}}.statement{background:var(--band)}.statement .q{font-size:clamp(2rem,5vw,4rem);line-height:1.2}.st-bg .f-s{fill:#15171e}.st-bg .sk-q{stroke:#3a3d47}.lines{font-weight:400}.philosophy-principles{background:#fff}.pr-rows{gap:0;max-width:none}.pr-row{border-top:1px solid var(--ink);padding:clamp(40px,6vw,72px) 0}.pr-row:last-child{border-bottom:1px solid var(--ink)}.pr-vis{border-radius:0;max-width:none}.pr-vis img{object-fit:cover}.pr-copy{max-width:none;padding-inline:0}.pr-rows .pr-row .no{color:var(--ink);align-items:baseline}.pr-number{letter-spacing:-.02em;background:0 0;border:0;border-radius:0;width:auto;height:auto;font-size:clamp(2.5rem,5vw,4rem);font-weight:800}.pr-divider{display:none}.pr-name{font-size:var(--text-small);letter-spacing:.26em}.pr-connector{display:none}.pr-rows .pr-row h2{font-size:clamp(1.75rem,3vw,2.5rem)}@media (max-width:760px){.pr-row{gap:24px}}.company-about-copy{max-width:42em;margin-inline:0}.dl{border-top:1px solid var(--ink)}.dl dt{font-weight:800}.loc img,.loc iframe{border:1px solid var(--line);border-radius:0}.faq-group>h2{border-bottom:1px solid var(--ink);padding-bottom:14px;font-size:clamp(1.5rem,3vw,2rem)}.qa summary{grid-template-columns:28px minmax(0,1fr) 24px}.qa summary:hover{text-underline-offset:5px;background:0 0;text-decoration:underline}.qa summary:after{color:var(--ink)}.qa .ans{grid-template-columns:28px minmax(0,1fr)}.policy h2{border-bottom:1px solid var(--ink);font-size:clamp(1.5rem,3vw,2rem)}.policy-contact{background:var(--paper-2);border-radius:0}legend,.form-h,.contact-form-title{font-size:clamp(1.5rem,3vw,2rem)}.contact-page .contact-layout .form-card{border:1px solid var(--ink);background:#fff;border-radius:0;padding:clamp(24px,4vw,40px)}.contact-page .contact-form-title,.contact-page .form-intro{text-align:left}.contact-page .field input,.contact-page .field textarea{border:1px solid var(--ink);border-radius:0}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--ink);box-shadow:none;outline:2px solid var(--teal);outline-offset:2px}.req{border:1px solid var(--ink);color:var(--ink);background:0 0;border-radius:0;padding:0 6px}.opt{border:1px solid var(--line);background:0 0;border-radius:0}.consultation-context{border-left-color:var(--ink);background:var(--paper-2);border-radius:0}.contact-page .contact-submit .btn{max-width:240px}.btn-ghost[data-reset],.err-actions .btn-ghost{border-color:var(--ink);color:var(--ink)}@media (prefers-reduced-motion:reduce){.hero.hero--photographic .hero-background,.services-hero__background,.approach-hero__background,.philosophy-hero__background,.company-hero__background{animation:none}.tile img{transition:none}}html{-webkit-font-smoothing:antialiased}body{letter-spacing:.03em}h1,h2,h3,h4{font-weight:var(--weight-heading);letter-spacing:.08em}.h-sec,.svc-row h2,.tl-step h2,.pr-rows .pr-row h2,.contact-band h2,.statement .q,.faq-group>h2,.policy h2,legend,.form-h,.contact-form-title,.steps h3,.sol h3,.tile-cap h3{font-weight:500}.svc-row .no,.pr-number,.tl-step .dot,.is-reached>.dot,.steps-no{letter-spacing:.04em;font-weight:300}.label{font-family:var(--f-en);letter-spacing:.26em;text-transform:uppercase;color:var(--ink);font-size:clamp(1.625rem,3vw,2.5rem);font-weight:300;line-height:1.1}.label:before{display:none}.label-light{color:#fff}.sec-head>div{flex-wrap:wrap;align-items:baseline;gap:10px 22px;display:flex}.sec-head .label{margin-bottom:0}.sec-head .h-sec{font-size:var(--text-label);letter-spacing:.22em;font-weight:500}.sec-head .lead{letter-spacing:.06em;margin-top:26px;line-height:2}.sec-head--row>div{display:flex}.info .label{font-size:clamp(1.5rem,2.6vw,2rem)}.info .h-sec{font-size:var(--text-label);letter-spacing:.22em;vertical-align:baseline;margin-left:18px;font-weight:500;display:inline-block}.contact-band .label{margin-bottom:18px;font-size:clamp(1.5rem,2.6vw,2rem)}.contact-band h2{letter-spacing:.1em;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.5}.contact-band p,.contact-band .cb-copy{letter-spacing:.06em}.ph-en{letter-spacing:.22em;text-transform:uppercase;font-weight:300;line-height:1.05}.page-hero h1{font-weight:500}.ph-copy{letter-spacing:.08em;font-weight:500;line-height:1.8}.gnav a{letter-spacing:.16em;font-size:.8125rem;font-weight:500}.statement .q{letter-spacing:.08em;font-size:clamp(1.5rem,3.4vw,2.75rem);line-height:1.5}.lines{letter-spacing:.06em}.btn,.hd-cta.btn-primary,.cb-actions .btn,.contact-page .contact-submit .btn,.btn-ghost[data-reset]{border-radius:0}.btn{min-height:52px;font-weight:500;font-size:var(--text-label);letter-spacing:.16em;border-width:1px;padding:0 32px}.btn .arw{width:14px;height:14px}.hd-cta.btn-primary{letter-spacing:.12em;min-height:40px;padding:0 18px}.btn-outline-white,.cb-actions .btn,.hero.hero--photographic .hero-cta .btn{color:#fff;background:0 0;border:1px solid #fff}.btn-outline-white:hover,.cb-actions .btn:hover,.hero.hero--photographic .hero-cta .btn:hover{color:var(--ink);background:#fff;border-color:#fff}.link-more{letter-spacing:.08em;font-weight:500}.hero.hero--photographic.hero--center{align-items:center;height:clamp(560px,88vh,920px)}.hero.hero--photographic.hero--center:after{background:linear-gradient(#00000029,#0006)}.hero.hero--photographic.hero--center .hero-grid{padding-block:0}.hero.hero--photographic.hero--center .hero-copy{text-align:center;justify-items:center;width:100%}.hero-tag{letter-spacing:.22em;color:#fff;font-size:clamp(1rem,1.6vw,1.25rem);font-weight:500}.hero-wordmark{font-family:var(--f-en);letter-spacing:.02em;color:#fff;margin-top:12px;font-size:clamp(3.5rem,9vw,8rem);font-weight:600;line-height:1}.hero.hero--photographic.hero--center .lead{letter-spacing:.12em;text-align:center;opacity:1;max-width:44em;margin:30px auto 0;font-size:clamp(.9375rem,1.3vw,1.0625rem);font-weight:500;line-height:2}.hero.hero--photographic.hero--center .hero-cta{justify-content:center;margin-top:34px}@media (max-width:700px){.hero.hero--photographic.hero--center{height:clamp(520px,80vh,720px)}.hero-wordmark{font-size:clamp(3rem,16vw,4.5rem)}.hero.hero--photographic.hero--center .lead{letter-spacing:.06em}}.tiles{grid-auto-flow:dense}.tile:first-child{grid-area:span 2/span 2}.tile-cap{padding:24px 28px 26px}.tile-cat{font-size:var(--text-small);letter-spacing:.22em;font-weight:500;display:block}.tile-cap h3{letter-spacing:.12em;margin-top:8px;font-size:clamp(1.125rem,1.8vw,1.5rem)}.tile:first-child .tile-cap h3{font-size:clamp(1.5rem,2.6vw,2.25rem)}.tile-more{font-size:var(--text-small);letter-spacing:.16em;margin-top:10px;font-weight:500;display:inline-block}@media (max-width:760px){.tile:first-child{aspect-ratio:3/2;grid-row:auto}.tile-cap{padding:18px 20px 20px}}@media (max-width:480px){.tile:first-child{grid-column:auto}}.panels{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:0 6px;display:grid}.panel{aspect-ratio:1.6;background:var(--band);color:#fff;text-align:center;place-items:center;text-decoration:none;display:grid;position:relative;overflow:hidden}.panel--wide{aspect-ratio:2.7;grid-column:1/-1}.panel img{object-fit:cover;width:100%;height:100%;transition:transform .9s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0}.panel:after{content:"";background:#0000006b;position:absolute;inset:0}.panel:hover img,.panel:focus-visible img{transform:scale(1.03)}.panel:focus-visible{outline-offset:-4px;outline-color:#fff}.panel-body{z-index:1;justify-items:center;padding:24px;display:grid;position:relative}.panel-ja{font-size:var(--text-small);letter-spacing:.26em;font-weight:500}.panel-en{font-family:var(--f-en);letter-spacing:.3em;text-transform:uppercase;color:#fff;margin-top:10px;font-size:clamp(1.625rem,3.4vw,3rem);font-weight:300;line-height:1.1}.panel-copy{letter-spacing:.12em;max-width:30em;margin-top:18px;font-size:clamp(.9375rem,1.3vw,1.125rem);font-weight:500;line-height:1.9}.panel .btn{min-height:46px;margin-top:26px;padding:0 26px}@media (max-width:760px){.panels{grid-template-columns:minmax(0,1fr)}.panel,.panel--wide{aspect-ratio:4/3}.panel-en{letter-spacing:.2em}.panel-copy{max-width:22em}}.fixed-cta{z-index:60;background:var(--ink);color:#fff;min-height:56px;font-size:var(--text-label);letter-spacing:.16em;align-items:center;gap:14px;padding:0 26px;font-weight:500;text-decoration:none;display:inline-flex;position:fixed;bottom:0;right:0}.fixed-cta:after{content:"›";font-family:var(--f-en);font-size:1.25em;line-height:1}.fixed-cta:hover{background:#2a2c33}.nav-open .fixed-cta{display:none}@media (max-width:600px){.fixed-cta{min-height:48px;font-size:var(--text-small);padding:0 16px}}html.is-opening{overflow:hidden}html.is-opening:before{content:"";z-index:9998;background:#000;position:fixed;inset:0}.opening{z-index:9999;background:#000;place-items:center;transition:opacity .9s,visibility .9s;display:grid;position:fixed;inset:0}.opening.is-done{opacity:0;visibility:hidden;pointer-events:none}.opening__video{object-fit:contain;background:#000;width:min(100% - 24px,1180px);max-height:calc(100% - 24px);display:block}.opening__skip{font-size:var(--text-small);letter-spacing:.18em;color:#ffffff6b;opacity:0;transition:opacity .8s;position:absolute;bottom:clamp(16px,3vw,40px);right:clamp(16px,3vw,40px)}.opening.is-skippable .opening__skip{opacity:1}@media (prefers-reduced-motion:reduce){.panel img{transition:none}}:root{--ease-out:cubic-bezier(.16, 1, .3, 1)}html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}body{transition:opacity .6s}html.is-leaving body{opacity:0;transition:opacity .38s}.site-header.is-hidden{transform:translateY(-100%)}.hero-cover{z-index:3;opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}.hero.hero--photographic.hero--center .hero-grid{z-index:4}html.js:not(.is-ready) .hero--center .hero-copy>*{opacity:0;transform:translateY(28px)}html.is-ready .hero--center .hero-copy>*{opacity:1;transition:opacity 1.1s var(--ease-out), transform 1.1s var(--ease-out);transform:none}html.is-ready .hero--center .hero-copy>:nth-child(2){transition-delay:.12s}html.is-ready .hero--center .hero-copy>:nth-child(3){transition-delay:.3s}html.is-ready .hero--center .hero-copy>:nth-child(4){transition-delay:.48s}.flow .ch{white-space:pre;display:inline-block}html.js:not(.is-ready) .flow .ch{opacity:0;transform:translateY(.5em)}html.is-ready .flow .ch{animation:ch-in .9s var(--ease-out) both;animation-delay:calc(var(--base,0s) + var(--i,0) * var(--step,40ms))}@keyframes ch-in{0%{opacity:0;transform:translateY(.5em)}to{opacity:1;transform:none}}html.js:not(.is-ready) .hero--center .hero-copy>.flow{opacity:1;transform:none}html.is-ready .hero--center .hero-copy>.flow{transition:none}.hero--center .hero-background:first-of-type{opacity:1;animation:9s ease-out forwards hero-kb}.hero--center .hero-background:not(:first-of-type){opacity:0;animation:24s ease-in-out infinite hero-slide}.hero--center .hero-background:nth-of-type(2){animation-delay:8s}.hero--center .hero-background:nth-of-type(3){animation-delay:16s}@keyframes hero-slide{0%{opacity:0;transform:scale(1.08)}5%{opacity:1}33.3%{opacity:1;transform:scale(1)}38.5%{opacity:0;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}.rv{opacity:0;transition:opacity 1s var(--ease-out) var(--d,0s), transform 1s var(--ease-out) var(--d,0s);transform:translateY(26px)}.rv.is-in{opacity:1;transform:none}.rv .label,.rv.ph-en{clip-path:inset(0 0 100%);transition:clip-path 1.1s var(--ease-out) var(--d,0s)}.rv.is-in .label,.rv.is-in.ph-en{clip-path:inset(-10% -5% -10% 0)}[data-parallax]{overflow:hidden}[data-parallax] img{transform:translate3d(0, var(--plx,0%), 0) scale(1.12);will-change:transform}.tile[data-parallax]:hover img,.tile[data-parallax]:focus-visible img,.panel[data-parallax]:hover img,.panel[data-parallax]:focus-visible img{transform:translate3d(0, var(--plx,0%), 0) scale(1.16)}@media (prefers-reduced-motion:reduce){body,.site-header{transition:none}.site-header.is-hidden{transform:none}.hero--center .hero-background{animation:none}.hero--center .hero-background:not(:first-of-type){display:none}html.js:not(.is-ready) .hero--center .hero-copy>*{opacity:1;transform:none}.rv{opacity:1;transition:none;transform:none}.flow .ch{opacity:1;animation:none;transform:none}.rv .label,.rv.ph-en{clip-path:none;transition:none}[data-parallax] img{transform:none}}.hero.hero--photographic.hero--scroll{background:var(--band);height:auto;min-height:420vh;display:block;overflow:visible}.hero--scroll:after{display:none}.hero-stage{isolation:isolate;align-items:center;height:100svh;display:flex;position:sticky;top:0;overflow:hidden}.hero-stage:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#00000029,#0006);position:absolute;inset:0}.hero-stage .hero-grid{z-index:4;width:100%;position:relative}.hero--scroll .hero-copy{opacity:var(--copy,1);transform:translateY(calc((1 - var(--copy,1)) * -48px))}.hero-words{z-index:4;padding:0 var(--gut);color:#fff;text-align:center;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.hero-word{opacity:var(--o,0);grid-area:1/1;justify-items:center;display:grid}.hero-word__letter{font-family:var(--f-en);color:#ffffff12;pointer-events:none;font-size:clamp(14rem,38vw,34rem);font-weight:600;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.hero-word__en{font-family:var(--f-en);letter-spacing:.3em;text-transform:uppercase;font-size:clamp(2.25rem,6vw,4.75rem);font-weight:300;line-height:1.1;display:block}.hero-word__ja{letter-spacing:.22em;margin-top:18px;font-size:clamp(1.0625rem,2vw,1.5rem);font-weight:500;display:block}.hero-word .ch2{white-space:pre;opacity:var(--co,0);transform:translateY(var(--cy,.45em));will-change:opacity, transform;display:inline-block}.hero-scroll{z-index:4;color:#fffc;font-family:var(--f-en);letter-spacing:.32em;text-transform:uppercase;opacity:var(--hint,1);justify-items:center;gap:10px;font-size:.6875rem;font-weight:500;transition:opacity .4s;display:grid;position:absolute;bottom:28px;left:50%;transform:translate(-50%)}.hero-scroll:after{content:"";background:linear-gradient(#fff,#0000);width:1px;height:48px;animation:2.2s ease-in-out infinite hint-line}@keyframes hint-line{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}html.js:not(.is-ready) .hero-scroll{opacity:0}@media (max-width:700px){.hero.hero--photographic.hero--scroll{min-height:360vh}.hero-word__en{letter-spacing:.2em}.hero-word__letter{font-size:60vw}}@media (prefers-reduced-motion:reduce){.hero.hero--photographic.hero--scroll{height:clamp(560px,88vh,920px);min-height:0}.hero-stage{height:100%;position:relative}.hero-words,.hero-scroll{display:none}.hero--scroll .hero-copy{opacity:1;transform:none}}@media (prefers-reduced-motion:no-preference){.btn,.tab,.toc a,.works-jump a{transition:background-color .2s,border-color .2s,color .2s,box-shadow .25s,translate .25s}.btn:focus-visible,.tab:focus-visible,.toc a:focus-visible,.works-jump a:focus-visible{box-shadow:0 0 0 4px #039fad29}.web-card .vis img,.work-tile__image img{transition:scale .6s cubic-bezier(.22,1,.36,1)}.web-card:focus-within .vis img,.work-tile:focus-visible .work-tile__image img{scale:1.025}.qa summary{transition:background-color .2s}.qa summary:after{transition:color .2s}.qa[open] summary:after{color:var(--deep)}@media (hover:hover) and (pointer:fine){.btn:hover,.tab:hover,.toc a:hover,.works-jump a:hover{translate:0 -2px}.web-card:hover .vis img,.work-tile:hover .work-tile__image img{scale:1.025}}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,:before,:after{transition:none!important;animation:none!important}}@media print{*,:before,:after{transition:none!important;animation:none!important}}.btn:hover{transform:translateY(-1px)}.link-more,.gnav a,.crumbs a,.site-footer a,.list a.row span,.flow-strip a,.qa summary>span:nth-child(2){transition:color .25s}.row:hover .chev{transform:translate(4px)}.list a.row:hover{text-decoration:none}.list a.row:hover span{color:var(--teal-ink)}.fixed-cta:hover{transform:translateY(-2px)}.tile:hover .tile-cap{transform:translateY(-4px)}.panel:hover .panel-body{transform:translateY(-3px)}.topic span,.consent{transition:color .25s}.qa-body{overflow:hidden}.qa summary:after{content:none}.qa summary:hover{background:0 0;text-decoration:none}.qa summary:hover>span:nth-child(2){color:var(--teal-ink)}.qa-icon{width:24px;height:24px;position:relative}.qa-icon:before,.qa-icon:after{content:"";background:var(--ink);width:14px;height:1.5px;transition:transform .45s var(--ease-out), opacity .3s ease;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.qa-icon:after{transform:translate(-50%,-50%)rotate(90deg)}.qa[open] .qa-icon:before{transform:translate(-50%,-50%)rotate(180deg)}.qa[open] .qa-icon:after{opacity:0;transform:translate(-50%,-50%)rotate(180deg)}@media (max-width:1000px){.gnav{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease, transform .45s var(--ease-out), visibility 0s linear .45s;display:block;transform:translateY(-10px)}.nav-open .gnav{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .3s ease, transform .45s var(--ease-out), visibility 0s;transform:none}.gnav li{opacity:0;transition:opacity .4s ease, transform .5s var(--ease-out);transform:translateY(12px)}.nav-open .gnav li{opacity:1;transform:none}.nav-open .gnav li:nth-child(2){transition-delay:50ms}.nav-open .gnav li:nth-child(3){transition-delay:.1s}.nav-open .gnav li:nth-child(4){transition-delay:.15s}.nav-open .gnav li:nth-child(5){transition-delay:.2s}}@media (prefers-reduced-motion:reduce){.btn,.link-more,.gnav a,.row .chev,.link-more .arw,.fixed-cta,.tile-cap,.panel-body,.qa-icon:before,.qa-icon:after,.gnav,.gnav li{transition:none}.btn:hover,.fixed-cta:hover,.tile:hover .tile-cap,.panel:hover .panel-body{transform:none}}@keyframes bg-in{0%{filter:brightness(.5)saturate(.8);transform:scale(1.16)}40%{filter:brightness()saturate()}to{filter:brightness()saturate();transform:scale(1)}}@keyframes tag-in{0%{opacity:0;filter:blur(6px);transform:translateY(.6em)}to{opacity:1;filter:blur();transform:none}}@keyframes wm-in{0%{opacity:0;filter:blur(18px);transform:translateY(.28em)scale(1.32)}55%{opacity:1;filter:blur()}to{opacity:1;filter:blur();transform:none}}@keyframes wm-track{0%{letter-spacing:.22em}to{letter-spacing:.02em}}@keyframes wm-glow{0%,to{text-shadow:0 0 #bfeaf000}50%{text-shadow:0 0 30px #bfeaf0d9,0 0 2px #fff9}}@keyframes rule-in{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.hero-rule{opacity:0;background:#ffffffbf;width:56px;height:1px;margin:18px auto 22px;display:block;transform:scaleX(0)}html.is-ready .hero--center .hero-copy>.hero-rule{animation:rule-in 1s var(--ease-out) .3s both;transition:none}html.js:not(.is-ready) .hero--center .hero-copy>.hero-rule{opacity:0;transform:scaleX(0)}html.is-ready .hero-tag .ch{animation-name:tag-in;animation-duration:1.1s}html.is-ready .hero-wordmark{animation:wm-track 2s var(--ease-out) .52s both}html.is-ready .hero-wordmark .ch{animation:wm-in 1.4s var(--ease-out) both, wm-glow 1.3s ease-in-out both;animation-delay:calc(var(--base) + var(--i) * var(--step)), calc(var(--base) + var(--i) * var(--step) + 1.1s);will-change:transform, filter, opacity}.hero--center .hero-background:first-of-type{filter:brightness(.5)saturate(.8);animation:none;transform:scale(1.16)}html.is-ready .hero--center .hero-background:first-of-type{animation:bg-in 10s var(--ease-out) both}@media (prefers-reduced-motion:reduce){html.is-ready .hero-tag .ch,html.is-ready .hero-wordmark .ch,html.is-ready .hero-wordmark,html.is-ready .hero--center .hero-background:first-of-type,html.is-ready .hero--center .hero-copy>.hero-rule{animation:none}.hero--center .hero-background:first-of-type{filter:none;transform:none}.hero-rule,html.js:not(.is-ready) .hero--center .hero-copy>.hero-rule{opacity:1;transform:none}}:root{--ease-inout:cubic-bezier(.65, 0, .35, 1)}html.is-leaving body{transition:opacity .44s var(--ease-inout)}.opening{transition:opacity 1.2s var(--ease-inout), visibility 1.2s}.site-header{transition:transform .65s var(--ease-inout)}.btn{transition:background-color .4s var(--ease-inout), border-color .4s var(--ease-inout), color .4s var(--ease-inout), transform .45s var(--ease-out)}.link-more,.gnav a,.crumbs a,.site-footer a,.list a.row span,.flow-strip a,.qa summary>span:nth-child(2),.topic span,.consent{transition:color .4s var(--ease-inout)}.row .chev,.link-more .arw{transition:transform .5s var(--ease-inout)}.fixed-cta{transition:background-color .4s var(--ease-inout), transform .45s var(--ease-inout)}.tile-cap,.panel-body{transition:transform 1s var(--ease-inout)}.tile img,.panel img{transition:transform 1.2s var(--ease-inout)}.field input,.field textarea,.field select{transition:border-color .35s var(--ease-inout), outline-color .35s var(--ease-inout)}.hero-scroll{transition:opacity .6s var(--ease-inout)}.qa-icon:before,.qa-icon:after{transition:transform .65s var(--ease-inout), opacity .45s var(--ease-inout)}.rv{transition:opacity 1.1s var(--ease-out) var(--d,0s), transform 1.1s var(--ease-out) var(--d,0s)}@media (max-width:1000px){.gnav{transition:opacity .45s var(--ease-inout), transform .6s var(--ease-inout), visibility 0s linear .6s}.nav-open .gnav{transition:opacity .4s var(--ease-inout), transform .6s var(--ease-out), visibility 0s}.gnav li{transition:opacity .45s var(--ease-inout), transform .55s var(--ease-inout)}.menu-toggle i,.menu-toggle i:before,.menu-toggle i:after{transition:transform .5s var(--ease-inout), background-color .4s}}@media (prefers-reduced-motion:reduce){html.is-leaving body,.opening,.site-header,.btn,.link-more,.row .chev,.link-more .arw,.fixed-cta,.tile-cap,.panel-body,.tile img,.panel img,.hero-scroll,.qa-icon:before,.qa-icon:after,.rv,.gnav,.gnav li{transition:none}}.hero-art{z-index:2;pointer-events:none;position:absolute;inset:0}.hero-art canvas{display:block;width:100%!important;height:100%!important}html.is-ready .hero--center .hero-copy>.hero-rule{animation-delay:.7s}html.is-ready .hero-wordmark{animation-delay:1.3s}html.is-ready .hero--center .hero-copy>.hero-cta{transition-delay:3s}.btn,.link-more,.tile-more,.fixed-cta{gap:12px}.btn.btn-lg{width:auto;min-height:56px;font-size:var(--text-body);padding:0 32px;position:static}.btn-lg .arw{margin:0;position:static}.tile-more{align-items:center;display:inline-flex}.tile-more .arw,.fixed-cta .arw{flex:none;width:14px;height:14px}.fixed-cta:after{content:none}.hero-flash{z-index:5;opacity:var(--flash,0);pointer-events:none;background:#fff;position:absolute;inset:0}html.js.is-entering body,html.is-leaving body{opacity:1;transition:none}html.is-fast .rv{transition-duration:.35s;transition-delay:0s!important}html.is-fast .rv .label,html.is-fast .rv.ph-en{transition-duration:.4s;transition-delay:0s!important}html.js.is-entering body{opacity:0;transition:none}html.is-ready body{opacity:1;transition:opacity .5s var(--ease-inout)}.svc-stage{background:var(--bg);height:560vh;position:relative}.svc-stage__pin{height:100svh;padding:calc(var(--hd) + 16px) 0 24px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:sticky;top:0;overflow:hidden}.svc-stage__head{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.svc-stage__head .sec-head{margin-bottom:0}.svc-stage__count{font-family:var(--f-en);letter-spacing:.2em;color:var(--muted);font-size:clamp(1.125rem,2vw,1.625rem);font-weight:300}.svc-deck{width:min(1180px, 100% - var(--gut) * 2);perspective:1400px;perspective-origin:50% 35%;min-height:0;margin:18px auto 0;position:relative}.svc-card{background:var(--band);color:#fff;transform-origin:50% 100%;visibility:hidden;will-change:transform;position:absolute;inset:0;overflow:hidden}.svc-card__veil{z-index:2;opacity:var(--veil,0);pointer-events:none;background:#000;position:absolute;inset:0}.svc-card img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.svc-card:after{content:"";background:linear-gradient(#0000000f 44%,#000000a8);position:absolute;inset:0}.svc-card__body{z-index:1;opacity:0;padding:clamp(22px,4vw,48px);position:absolute;bottom:0;left:0;right:0}.svc-card__cat{font-size:var(--text-small);letter-spacing:.24em;font-weight:500}.svc-card__name{letter-spacing:.1em;color:#fff;margin-top:8px;font-size:clamp(1.75rem,4vw,3.25rem);font-weight:500;line-height:1.2}.svc-card__sub{letter-spacing:.08em;margin-top:12px;font-size:clamp(.9375rem,1.4vw,1.125rem)}.svc-card__body .link-more{margin-top:18px}.svc-stage__foot{justify-content:flex-end;padding-top:18px;display:flex}@media (max-width:760px){.svc-stage{height:480vh}.svc-stage__pin{padding-bottom:16px}.svc-card__name{letter-spacing:.06em}.svc-stage__head .label{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){html.js.is-entering body,html.is-ready body{opacity:1;transition:none}.svc-stage{height:auto}.svc-stage__pin{height:auto;display:block;position:static;overflow:visible}.svc-deck{perspective:none;gap:12px;display:grid}.svc-card{aspect-ratio:16/9;visibility:visible;position:relative;transform:none!important}.svc-card__veil{display:none}.svc-card__body{opacity:1!important;transform:none!important}}.hero-tag{text-shadow:0 1px 2px #00000047;font-weight:700}.hero-wordmark{text-shadow:0 2px 6px #00000038;font-weight:700}.hero.hero--photographic.hero--center .lead{text-shadow:0 1px 2px #0000004d;font-weight:600}.hero.hero--photographic .hero-cta .btn{border-width:1.5px;font-weight:600}.hero-word__en{font-weight:400}.hero-word__ja,.hero-scroll{font-weight:600}@media (max-width:700px){.hero.hero--photographic.hero--center:after{background:linear-gradient(#00000047,#0000008c)}.hero-tag{letter-spacing:.16em;font-size:1.0625rem}.hero.hero--photographic.hero--center .lead{letter-spacing:.04em;font-size:1rem;line-height:1.9}.hero-word__en{font-weight:500}}
