:root{--ink:#223140;--paper:#fafafa;--line:#cad0d3;--wash:#edf0f1;--muted:#55616b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.9}a{color:inherit;text-decoration:none}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid var(--ink);outline-offset:5px}a:hover{opacity:.65}button:active{transform:translateY(1px)}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}p,h1,h2,h3{margin:0;text-wrap:pretty}p+p{margin-top:22px}.preview{background:var(--ink);color:white;display:flex;align-items:center;gap:28px;padding:9px 4%;font-size:10px;letter-spacing:.1em}.preview button{margin-left:auto;border:1px solid #8a939b;background:none;color:white;padding:4px 12px;font-size:11px}header{padding:28px 4%;display:flex;justify-content:space-between;align-items:center;gap:24px}.logo{width:170px;height:auto}nav{display:flex;gap:32px;font-size:12px;font-weight:600}.menu{display:none}.hero{display:grid;grid-template-columns:47% 53%;min-height:720px;padding:10px 4% 56px}.hero-copy{padding:36px 5% 0 0;display:flex;flex-direction:column}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:600;line-height:1.6}h1{font-size:clamp(40px,4.2vw,72px);font-weight:500;line-height:1.4;letter-spacing:-.07em;margin:40px 0 30px}.lead{line-height:2.2;font-size:15px}.text-link{display:flex;justify-content:space-between;gap:35px;align-items:center;border-bottom:1px solid var(--ink);padding:16px 0;font-size:13px;font-weight:600;width:fit-content;min-width:225px}.hero .text-link{margin-top:25px}.hero-foot{font-size:9px;letter-spacing:.13em;margin-top:auto;padding-top:48px}.hero-image{position:relative;min-height:600px}.hero-image img{position:absolute;inset:0;object-position:50% 43%}.hero-image figcaption{position:absolute;left:0;bottom:0;width:100%;padding:30px 23px 17px;color:white;background:linear-gradient(transparent,rgba(0,0,0,.7));font-size:10px;display:flex;justify-content:space-between}.section{padding:100px 7%}.section-head{display:grid;grid-template-columns:25% 1fr auto;align-items:start;margin-bottom:65px}h2{font-size:clamp(28px,3vw,45px);line-height:1.65;letter-spacing:-.05em;font-weight:500}.index{font-size:11px}.work{border-top:1px solid var(--line)}.feature{display:grid;grid-template-columns:55% 45%;align-items:center}.feature figure{aspect-ratio:1;background:var(--wash)}.feature-copy{padding:40px 0 40px 15%}.feature h3{font-family:Georgia,serif;font-size:76px;font-weight:400;line-height:1.3;margin:20px 0}.feature .sub{font-size:23px}.feature-copy>p:not(.eyebrow):not(.sub){font-size:14px;line-height:2.1}.feature .text-link{margin-top:28px}.work-row{display:grid;grid-template-columns:1fr 40%;gap:10%;align-items:center;margin:100px 0}.work-row h3,.learning h3{font-size:28px;line-height:1.7;font-weight:500;margin:24px 0}.work-row p,.learning p{font-size:14px}.work-row .eyebrow{font-size:11px}.work-row figure{height:350px}.work-row .text-link{margin-top:20px}.learning{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:35px 0;display:grid;grid-template-columns:25% 32% 1fr;align-items:start}.learning h3{margin:0}.learning a{display:inline-block;border-bottom:1px solid var(--ink);font-size:12px;margin:25px 24px 0 0}.support{background:var(--ink);color:var(--paper)}.support .section-head{margin-bottom:45px}.support-intro{margin-left:25%;display:grid;grid-template-columns:1fr 1.4fr;gap:40px}.support-intro p:first-child{font-size:21px}.support-intro p+p{margin:0;font-size:14px}.services{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:75px}.services article{border-top:1px solid #82909b;padding-top:25px}.service-no{font-size:11px}.services h3{font-size:26px;font-weight:500;margin:18px 0}.services p{font-size:14px}.services .examples{font-size:11px;margin-top:30px;color:#c3cbd1}.services .text-link{border-color:#b5bfc6;margin-top:22px}.about{display:grid;grid-template-columns:25% 1fr}.about h2{margin-bottom:32px}.about p{font-size:14px}dl{margin:50px 0 0}dl div{display:grid;grid-template-columns:160px 1fr;border-top:1px solid var(--line);padding:17px 0;font-size:13px}dd{margin:0}.contact{background:var(--wash);text-align:center}.contact h2{font-size:46px;margin:24px 0}.contact>p:not(.eyebrow){font-size:14px}.contact label{display:block;font-size:12px;margin:30px 0 8px}.contact select{width:270px;max-width:100%;padding:12px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font-size:14px}.contact-button{display:block;margin:18px auto;background:var(--ink);color:white;border:0;width:270px;padding:15px}.contact small{display:block;font-size:11px;color:var(--muted)}#notice{max-width:440px;margin:20px auto;padding:18px;border:1px solid var(--line)}footer{padding:42px 4%;display:flex;align-items:center;justify-content:space-between;font-size:10px}footer .logo{width:130px}.wire img:not(.logo){visibility:hidden}.wire figure{background:repeating-linear-gradient(45deg,#e4e4e4,#e4e4e4 1px,#f4f4f4 1px,#f4f4f4 14px);outline:1px solid #999}.wire figure:before{content:'写真エリア';position:absolute;padding:15px;color:#333;font-size:12px}.wire .support{background:#eee;color:#222}.wire .section{outline:1px dashed #999}.wire .hero-image figcaption{background:#555}.wire .services .examples{color:#555}@media(max-width:800px){.preview{gap:8px}.preview span{display:none}header{padding:23px 6%;flex-wrap:wrap}.logo{width:145px}.menu{display:block;background:none;border:0;font-size:12px}nav{display:none;width:100%;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:12px 0;border-top:1px solid var(--line)}.hero{padding:0 6% 40px;grid-template-columns:1fr;min-height:0}.hero-copy{padding:20px 0 30px}h1{font-size:45px;margin:24px 0}.lead{font-size:14px}.hero-foot{padding-top:28px}.hero-image{min-height:460px}.section{padding:65px 6%}.section-head{grid-template-columns:1fr;gap:22px;margin-bottom:35px}.index{display:none}.feature{grid-template-columns:1fr}.feature-copy{padding:30px 0}.feature h3{font-size:58px}.work-row{grid-template-columns:1fr;gap:30px;margin:40px 0}.work-row figure{height:320px}.learning{grid-template-columns:1fr;gap:20px}.support-intro{margin:0;grid-template-columns:1fr;gap:22px}.services{grid-template-columns:1fr;gap:45px;margin-top:45px}.about{grid-template-columns:1fr;gap:24px}dl div{grid-template-columns:90px 1fr;gap:15px}.contact h2{font-size:36px}footer{flex-wrap:wrap;gap:22px}footer p{margin:0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.news{padding:35px 7% 50px;display:grid;grid-template-columns:25% 1fr;gap:0;border-top:1px solid var(--line)}.news-heading h2{font-family:Georgia,serif;font-size:35px;letter-spacing:0}.news-heading>a{display:inline-block;font-size:11px;margin-top:14px;border-bottom:1px solid var(--line)}.news-list{list-style:none;margin:0;padding:0}.news-list li{display:grid;grid-template-columns:90px 90px 1fr;gap:14px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}.news-list li:first-child{padding-top:8px}.news-list time{font-size:11px;font-variant-numeric:tabular-nums}.news-category{font-size:10px;color:var(--muted)}.news-list a{font-size:13px;line-height:1.85;display:flex;justify-content:space-between;gap:18px}.news-list a span{flex-shrink:0}@media(max-width:800px){.news{padding:32px 6% 40px;grid-template-columns:1fr;gap:24px}.news-heading{display:flex;align-items:center;justify-content:space-between}.news-heading>a{margin:0}.news-list li{grid-template-columns:90px 1fr;gap:7px 12px}.news-list a{grid-column:1/-1}.news-heading h2{font-size:30px}}

/* Consistent image format across the three editorial sections. */
.hero{grid-template-columns:1fr 1fr;padding:10px 7% 56px;min-height:0;gap:0}
.hero-copy{padding-right:10%}
.hero-image{aspect-ratio:4/5;min-height:0;align-self:start}
.hero-image img{object-position:50% 43%}
.feature{grid-template-columns:1fr 1fr}
.feature figure{aspect-ratio:4/5}
.feature figure img{object-position:center}
.feature-copy{padding-left:12%}
.work-row{grid-template-columns:1fr 1fr;gap:0}
.work-row>div{padding-right:12%}
.work-row figure{height:auto;aspect-ratio:4/5}
.work-row figure img{object-position:center}
@media(max-width:800px){.hero{grid-template-columns:1fr;padding:0 6% 40px}.hero-copy{padding:20px 0 30px}.hero-image{width:100%;min-height:0}.feature{grid-template-columns:1fr}.feature-copy{padding:30px 0}.work-row{grid-template-columns:1fr;gap:30px}.work-row>div{padding-right:0}.work-row figure{height:auto;width:100%}h1{font-size:clamp(32px,8vw,45px)}}

.learning{grid-template-columns:1fr 1fr;align-items:center;padding:55px 0}.learning figure{aspect-ratio:4/5;width:100%}.learning-copy{padding-left:12%}.learning-copy h3{margin:24px 0}.learning figure img{object-position:72% center}.hero-image,.feature figure,.work-row figure,.learning figure{position:relative;overflow:hidden}.photo-motion img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.09);transform-origin:center;will-change:transform}@media(max-width:800px){.learning{grid-template-columns:1fr;gap:30px}.learning-copy{padding-left:0}}@media(prefers-reduced-motion:reduce){.photo-motion img{transform:none;will-change:auto}}.wire .photo-motion img{transform:none}

/* Compact, consistently sized landscape photography. */
.hero,.section,.news{max-width:1320px;margin-left:auto;margin-right:auto}
.hero{grid-template-columns:1.1fr 1fr;gap:6%;align-items:center;padding-top:32px;padding-bottom:65px}
.hero-copy{padding:0}.hero h1{font-size:clamp(32px,3.5vw,52px);margin:24px 0}.hero .lead{font-size:14px}.hero-foot{padding-top:28px}
.hero-image,.feature figure,.work-row figure,.learning figure{aspect-ratio:3/2;min-height:0;width:100%;height:auto}
.hero-image{align-self:center}.feature{grid-template-columns:1fr 1.1fr;gap:6%}.feature-copy{padding:15px 0}.feature h3{font-size:58px}.feature .sub{font-size:21px}
.work-row{grid-template-columns:1.1fr 1fr;gap:6%;margin:70px 0}.work-row>div{padding:0}.learning{grid-template-columns:1fr 1.1fr;gap:6%;padding:42px 0}.learning-copy{padding:0}.learning figure img{object-position:center}.section{padding-top:70px;padding-bottom:70px}.section-head{margin-bottom:42px}
.photo-motion img{transform:translate3d(0,var(--photo-y,0px),0) scale(1.3)}
.scroll-reveal{transform:translate3d(0,var(--reveal-y,0px),0)}
@media(min-width:801px){.feature figure img{object-fit:contain;background:var(--wash)}}
@media(max-width:800px){.hero,.feature,.work-row,.learning{grid-template-columns:1fr;gap:26px}.hero{padding-top:20px}.hero-copy{padding:0}.hero-image,.feature figure,.work-row figure,.learning figure{aspect-ratio:3/2}.feature-copy{padding:0}.work-row{margin:50px 0}.section{padding-top:50px;padding-bottom:50px}.learning-copy{padding:0}.feature figure img{object-fit:contain;background:var(--wash)}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{transform:none}.photo-motion img{transform:none}}.wire .scroll-reveal{transform:none}

/* Full-bleed opening photograph; subsequent editorial images remain compact. */
.hero{position:relative;display:block;max-width:none;width:100%;height:clamp(540px,76vh,820px);padding:0;isolation:isolate;overflow:hidden;background:var(--ink);color:white}
.hero .hero-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-2}
.hero .hero-image img{object-position:50% 34%;width:100%;height:100%}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(12,20,26,.67),rgba(12,20,26,.25) 48%,rgba(12,20,26,.06) 80%),linear-gradient(0deg,rgba(12,20,26,.38),transparent 55%)}
.hero .hero-copy{height:100%;padding:65px 7% 65px;justify-content:center;align-items:flex-start;position:relative;z-index:1}
.hero h1{font-size:clamp(42px,5.2vw,78px);line-height:1.45;margin:25px 0 24px;letter-spacing:-.055em;text-shadow:0 1px 15px rgba(0,0,0,.1)}
.hero .lead{font-size:14px;line-height:2.1;max-width:460px}
.hero .text-link{color:white;border-color:rgba(255,255,255,.65);margin-top:20px}
.hero-foot{display:none}.hero-image figcaption{display:none}
@media(max-width:800px){.hero{height:650px;min-height:0;max-height:850px}.hero .hero-copy{padding:45px 6%;justify-content:flex-end}.hero h1{font-size:clamp(34px,8.4vw,52px);margin:20px 0}.hero .hero-image img{object-position:49% 29%}.hero:after{background:linear-gradient(0deg,rgba(12,20,26,.83),rgba(12,20,26,.4) 55%,rgba(12,20,26,.04))}.hero .lead{font-size:13px}.hero .text-link{margin-top:12px}}
.wire .hero{color:var(--ink);background:var(--wash)}.wire .hero:after{background:transparent}.wire .hero .text-link{color:var(--ink);border-color:var(--ink)}

/* Restore the close-up without the watch; emphasize the brush and drawing. */
.hero .hero-image img{object-position:50% 43%}
@media(max-width:800px){.hero .hero-image img{object-position:45% 38%}}

.founder-teaser{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:9%;align-items:center;border-top:1px solid var(--line)}.founder-teaser figure{aspect-ratio:3/4;overflow:hidden}.founder-teaser img{object-position:center 20%}.founder-teaser h2{margin:20px 0}.founder-name{font-size:23px;margin-top:24px}.founder-name span{font-size:11px;letter-spacing:.06em;margin-left:15px}.founder-role{font-size:12px;color:var(--muted);margin:6px 0 22px!important}.founder-teaser>div>p:not([class]){font-size:14px;max-width:550px;line-height:2.1}.founder-teaser .text-link{margin-top:24px}.breadcrumbs{max-width:1320px;margin:0 auto;padding:20px 7%;font-size:11px;color:var(--muted)}.founder-opening{display:grid;grid-template-columns:1fr 36%;gap:12%;align-items:center;padding-top:30px}.founder-opening h1{font-size:clamp(34px,4vw,58px);margin:28px 0}.founder-opening figure{aspect-ratio:3/4;overflow:hidden}.founder-opening img{object-position:center 20%}.founder-opening>div>p:last-child{font-size:14px;line-height:2.1}.founder-story{display:grid;grid-template-columns:25% 1fr;border-top:1px solid var(--line)}.founder-story>div{max-width:700px}.founder-story h2{font-size:32px;margin-bottom:30px}.founder-story p:not(.eyebrow){font-size:15px;line-height:2.15}.founder-story .text-link{margin-top:28px}.founder-end{background:var(--wash);text-align:center}.founder-end h2{margin:20px 0;font-size:32px}.founder-end>p:not(.eyebrow){font-size:14px}.founder-end .text-link{margin:28px auto}.back-link{font-size:12px}nav a[aria-current=page]{border-bottom:1px solid var(--ink)}@media(max-width:800px){.founder-teaser{grid-template-columns:1fr;gap:28px}.founder-teaser figure{max-width:280px}.founder-opening{grid-template-columns:1fr;gap:30px}.founder-opening figure{max-width:320px;grid-row:2}.founder-story{grid-template-columns:1fr;gap:24px}.founder-story h2{font-size:27px}.founder-name span{display:block;margin:3px 0 0}.founder-end h2{font-size:27px}}

.founder-note{max-width:1320px;margin:0 auto;padding:24px 7% 12px;color:var(--muted);font-size:12px;line-height:1.9}.founder-note p+p{margin-top:4px}.founder-contact{max-width:1320px;margin:0 auto;padding:12px 7% 48px}


header{flex-wrap:wrap}nav{gap:20px}.language-links{display:flex;gap:12px;margin-left:auto;font-size:12px;align-items:center}.language-links a[aria-current=page]{border-bottom:1px solid currentColor}.contact-button{display:block}.contact-email{display:block;font-size:13px}.site-footer-links{display:flex;gap:20px;flex-wrap:wrap}html[lang=en] .hero h1{letter-spacing:-.04em;font-size:clamp(38px,4.8vw,70px)}html[lang=en] h2{letter-spacing:-.035em}html[lang=en] .lead{max-width:530px}html[lang=en] nav{font-size:11px}.hero .lead br:after{content:' '}.founder-note{overflow-wrap:anywhere}@media(max-width:1100px){header nav{order:3;width:100%;justify-content:flex-end}.language-links{margin-left:auto}}@media(max-width:800px){header nav{justify-content:start}.language-links{margin-left:0}.menu{margin-left:auto}header{gap:15px}.site-footer-links{width:100%}.hero .lead br{display:none}}

/* Japanese display lettering: craft detail against the modern site grid. */
html[lang="ja"] .hero h1 {
  font-family: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 500;
  font-size: clamp(46px, 5vw, 78px);
  line-height: 1.55;
  letter-spacing: -.07em;
  font-feature-settings: "palt" 1;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .16);
}
@media (max-width: 800px) {
  html[lang="ja"] .hero h1 {
    font-size: clamp(38px, 8.8vw, 56px);
    line-height: 1.5;
  }
}

/* Match the editorial hero typography across the three maintained languages. */
html[lang="en"] .hero h1 {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  font-size: clamp(48px, 5.2vw, 78px);
  line-height: 1.18;
  letter-spacing: -.055em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .16);
}
html[lang="zh-Hant"] .hero h1 {
  font-family: "Songti TC", "Noto Serif TC", "PMingLiU", serif;
  font-weight: 500;
  font-size: clamp(46px, 4.8vw, 76px);
  line-height: 1.48;
  letter-spacing: -.055em;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .16);
}
@media (max-width: 800px) {
  html[lang="en"] .hero h1 { font-size: clamp(40px, 9vw, 58px); }
  html[lang="zh-Hant"] .hero h1 { font-size: clamp(38px, 8.8vw, 56px); }
}

/* Story and craft headings use the same editorial serif system as the hero. */
html[lang="ja"] { --editorial-serif: "Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif; }
html[lang="en"] { --editorial-serif: Georgia, "Times New Roman", serif; }
html[lang="zh-Hant"] { --editorial-serif: "Songti TC", "Noto Serif TC", "PMingLiU", serif; }
.work .section-head h2,
.work-row h3,
.learning h3,
.about h2,
.founder-teaser h2 {
  font-family: var(--editorial-serif, Georgia, serif);
  font-weight: 500;
  letter-spacing: -.045em;
}
html[lang="en"] .work .section-head h2,
html[lang="en"] .work-row h3,
html[lang="en"] .learning h3,
html[lang="en"] .about h2,
html[lang="en"] .founder-teaser h2 { font-weight: 400; }

/* Display copy stays editorial; body copy and navigation remain clean sans-serif. */
.feature .sub,
.support .section-head h2,
.services h3,
.contact h2 {
  font-family: var(--editorial-serif, Georgia, serif);
  font-weight: 500;
  letter-spacing: -.04em;
}
html[lang="en"] .feature .sub,
html[lang="en"] .support .section-head h2,
html[lang="en"] .services h3,
html[lang="en"] .contact h2 { font-weight: 400; }
